Questions tagged «oauth-2.0»

OAuth(开放授权)是一个开放协议框架,可通过简单,标准化的方式为桌面,移动和Web应用程序提供安全的API授权。OAuth 2.0是OAuth协议的第二个版本。

3
JWT刷新令牌流
我正在构建一个移动应用程序,并且正在使用JWT进行身份验证。 似乎最好的方法是将JWT访问令牌与刷新令牌配对,以便我可以根据需要频繁地使访问令牌到期。 刷新令牌是什么样的?是随机字符串吗?该字符串是否已加密?是另一个JWT吗? 刷新令牌将存储在用户模型上的数据库中以供访问,对吗?在这种情况下,似乎应该对其进行加密 用户登录后,我会发回刷新令牌,然后让客户端访问一条单独的路由来检索访问令牌吗?

4
如何在ASP.NET MVC 5和WEB API 2中实现oauth2服务器
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 去年关闭。 改善这个问题 首先,我将草绘我的项目: 对于我的实习,我需要向现有系统中添加功能。用户通过OAuth2授权后,第三方客户端必须能够从AX Web服务访问数据。我知道我需要制作一个“代理Web服务”,客户端可以在其中进行调用,并且可以调用AX服务,但是我对OAuth2部分还是不太确定。大多数教程和指南都是关于将ASP.NET的Identity用于Facebook或Google登录。我不需要,我需要使用现有的凭据,因此我需要创建自己的OAuth2服务。 我发现很难找到有关此的教程,指南或解释。我了解OAuth2以及需要执行的操作,但是我从来没有做过这样的事情,因此很难启动。我发现的最接近我需要的东西是这个github repo链接,但是解决方案未构建。 我想到的是建立一个ASP.NET MVC网站,客户(第三方)可以在该网站上注册自己并获取其客户ID。使用ASP.NET API,我想创建带有必需标记和参数的API,然后访问Dyn AX服务。 这是正确的还是我完全错了?关于构建自己的oauth2服务器/服务的任何帮助或链接都将很好。

8
在哪里可以找到Google OAuth 2.0 API范围的列表?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 4年前关闭。 改善这个问题 我正在使用的示例将OAuth请求中的范围指定为:scope = https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email + https%3A%2F%2Fwww.googleapis.com%2Fauth% 2Fuserinfo.profile 解码为两个URI: https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile 我找不到涵盖可用范围的完整列表以及每个范围内可以访问哪些信息的文档-有人知道这样的事情是否存在吗?

4
JWT(Json Web令牌)受众“ aud”与Client_Id的区别是什么?
我正在我的认证服务器中实现OAuth 2.0 JWT access_token。但是,我不清楚JWT aud声明和client_idHTTP标头值之间的区别是什么。他们是一样的吗?如果没有,您能否解释两者之间的区别? 我的怀疑是aud应该引用资源服务器,而client_id应该引用身份验证服务器识别的客户端应用程序之一(即Web应用程序或iOS应用程序)。 在我当前的情况下,我的资源服务器也是我的Web应用程序客户端。
103 oauth  oauth-2.0  jwt 

4
错误:Access-Control-Allow-Headers不允许请求标头字段Content-Type
我使用vS2012创建了一个mvc4 Web API项目。我使用以下教程来解决跨域资源共享,“ http://blogs.msdn.com/b/carlosfigueira/archive/2012/07/02/cors-support-in-asp-net-web-api- rc-version.aspx”。它正在成功运行,并且我将数据从客户端成功发布到服务器。 之后,为了在我的项目中实施Autherization,我使用了以下教程来实现OAuth2:“ http://community.codesmithtools.com/CodeSmith_Community/b/tdupont/archive/2011/03/18/oauth-2-0-for -mvc-two-legged-implementation.aspx”。这有助于我在客户端获取RequestToken。 但是,当我从客户端发布数据时,出现错误, “ XMLHttpRequest无法加载http://。Access-Control-Allow-Headers不允许请求标头字段Content-Type。” 我的客户端代码看起来像 function PostLogin() { var Emp = {}; Emp.UserName = $("#txtUserName").val(); var pass = $("#txtPassword").val(); var hash = $.sha1(RequestToken + pass); $('#txtPassword').val(hash); Emp.Password= hash; Emp.RequestToken=RequestToken; var createurl = "http://localhost:54/api/Login"; $.ajax({ type: "POST", url: createurl, contentType: "application/json; charset=utf-8", data: JSON.stringify(Emp), …

9
C#中是否有任何JSON Web令牌(JWT)示例?
我觉得我在这里服用疯药。通常,对于任何给定的任务,总会有一百万个库和样本在网上浮动。我试图通过使用JSON网络令牌(JWT)的描述来实现与谷歌的“服务帐户”验证这里。 但是,只有PHP,Python和Java中的客户端库。即使在Google身份验证之外搜索JWT示例,也只有关于JWT概念的和草稿。这真的那么新,可能是Google专有系统吗? 我可以设法解释的最接近的Java示例看起来非常密集且令人生畏。我至少可以从C#那里开始。任何帮助都会很棒!
101 c#  oauth  oauth-2.0  jwt 

3
OAuth 2.0中的客户端机密
要使用Google Drive API,我必须使用OAuth2.0进行身份验证。我对此有一些疑问。 客户端ID和客户端机密用于识别我的应用程序。但是,如果是客户端应用程序,则必须对其进行硬编码。因此,每个人都可以反编译我的应用程序并从源代码中提取它们。这是否意味着坏应用程序可以使用好应用程序的客户端ID和机密假装成好应用程序?因此,即使实际上是由不良应用程序提出的请求,用户也会显示一个屏幕,要求授予对良好应用程序的许可?如果是,该怎么办?还是实际上我不应该为此担心? 在移动应用程序中,我们可以将Webview嵌入到我们的应用程序中。而且很容易提取Web视图中的密码字段,因为要求许可的应用程序实际上是“浏览器”。那么,移动应用程序中的OAuth是否没有客户端应用程序无法访问服务提供商的用户凭证的好处?

22
PG无法定义的错误关系用户不存在
我之前看到过这个问题,但仅适用于rspec。我还没有创建测试,因为它对我来说太先进了,但是很快我就会!:P 当我尝试注册/登录我的应用程序时出现此错误。我使用devise创建用户,还使用omn​​iauth2使用google登录。 这是错误 ActiveRecord::StatementInvalid at /users/auth/google_oauth2/callback PG::UndefinedTable: ERROR: relation "users" does not exist LINE 5: WHERE a.attrelid = '"users"'::regclass ^ : SELECT a.attname, format_type(a.atttypid, a.atttypmod), pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod FROM pg_attribute a LEFT JOIN pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum WHERE a.attrelid = '"users"'::regclass AND …

7
OpenID Connect中ID令牌到期时间的目的是什么?
在OpenID Connect中,访问令牌具有到期时间。对于授权码流,这通常很短(例如20分钟),之后您可以使用刷新令牌来请求新的访问令牌。 该令牌ID也有一个到期时间。我的问题是这个目的是什么? 任何小于刷新令牌到期时间的ID令牌到期时间都将意味着您最终将拥有一个过期的ID令牌,但是一个有效的访问令牌。 因此,您是否打算: 赋予您的ID令牌有效期比刷新令牌的有效期长,或者 将其设置为与访问令牌相同的到期时间,并在到期时采取一些措施(做什么?),或者 只是在收据时在客户中使用ID令牌,然后忽略此后的到期时间? 该ID连接规范只是说,当验证ID令牌, "The current time MUST be before the time represented by the exp Claim." (可能)支持上面的第三个选项。 编辑 由于OpenID Connect建立在OAuth2之上,因此以下补充问题的答案可以在OAuth2规范中找到,该规范指出: expires_in RECOMMENDED. The lifetime in seconds of the access token. 一个相关的问题是,当您为令牌交换授权码时,同一规范说您可能会收到诸如以下的响应: { "access_token": "SlAV32hkKG", "token_type": "Bearer", "refresh_token": "8xLOxBtZp8", "expires_in": 3600, "id_token": "eyJhbG[...]" } 但是在这种情况下,“ …

2
OAuth 2.0授权标头
我想开发一个包含OAuth 2.0功能的SDK。我已经检查了OAuth 1.0和2.0之间的区别,并且对Authorization Header(1.0和 2.0)有些困惑,可以使用HTTP“ Authorization”标头传输OAuth 1.0协议参数,但是我在当前找不到OAuth 2.0草案。 OAuth 2.0是否支持授权标头? 在OAuth 1.0中,标头如下所示: Authorization: OAuth realm="Example", oauth_consumer_key="0685bd9184jfhq22", oauth_token="ad180jjd733klru7", oauth_signature_method="HMAC-SHA1", oauth_signature="wOJIO9A2W5mFwDgiDvZbTSMK%2FPY%3D", oauth_timestamp="137131200", oauth_nonce="4572616e48616d6d65724c61686176", oauth_version="1.0"
91 http  oauth-2.0 

17
如何使用Google API客户端刷新令牌?
我一直在使用Google Analytics(分析)API(V3),遇到了som错误。首先,所有设置均正确无误,并且可以使用我的测试帐户。但是,当我想从另一个个人资料ID(相同的Google Accont / GA帐户)获取数据时,出现403错误。奇怪的是,某些Google Analytics(分析)帐户中的数据会返回数据,而其他帐户会生成此错误。 我已经撤消了令牌并再次进行了身份验证,现在看来我可以从所有帐户中获取数据了。问题解决了?不。由于访问密钥将过期,因此我将再次遇到相同的问题。 如果我理解正确,可以使用resfreshToken获得新的authenticationTooken。 问题是,当我运行时: $client->refreshToken(refresh_token_key) 返回以下错误: Error refreshing the OAuth2 token, message: '{ "error" : "invalid_grant" }' 我已经检查了refreshToken方法背后的代码,并将请求追溯到“ apiOAuth2.php”文件。所有参数均正确发送。grant_type在方法中硬编码为“ refresh_token”,因此我很难理解出了什么问题。参数数组如下所示: Array ( [client_id] => *******-uqgau8uo1l96bd09eurdub26c9ftr2io.apps.googleusercontent.com [client_secret] => ******** [refresh_token] => 1\/lov250YQTMCC9LRQbE6yMv-FiX_Offo79UXimV8kvwY [grant_type] => refresh_token ) 步骤如下。 $client = new apiClient(); $client->setClientId($config['oauth2_client_id']); $client->setClientSecret($config['oauth2_client_secret']); $client->setRedirectUri($config['oauth2_redirect_uri']); $client->setScopes('https://www.googleapis.com/auth/analytics.readonly'); $client->setState('offline'); …

5
将带有Google OAuth2.0的登录电子邮件限制为特定域名
我似乎找不到任何有关如何限制登录到我的Web应用程序(使用OAuth2.0和Google API)的文档,以仅接受来自具有特定域名或一组域名的电子邮件的用户的身份验证请求的文档。我想将清单列入黑名单,而不是列入黑名单。 是否有人对如何执行此操作有任何建议,关于这样做的官方认可方法的文档,或者是否可以轻松,安全地解决? 作为记录,在用户尝试通过Google的OAuth身份验证登录之前,我不知道有关该用户的任何信息。我所收到的只是基本的用户信息和电子邮件。

5
什么是适用于移动应用的OAuth 2.0流程
我正在尝试使用OAuth 2.0在Web API中为移动应用程序实现委托授权。根据规范,隐式授予流不支持刷新令牌,这意味着在特定时间段内授予访问令牌后,一旦令牌到期或被吊销,用户必须再次向应用授予权限。 我猜这对于规范中提到的在浏览器上运行的某些javascript代码是一个好方案。我正在尝试最小化用户必须授予应用程序权限以获得令牌的时间,因此授权代码流似乎是一个不错的选择,因为它支持刷新令牌。 但是,此流程似乎严重依赖于Web浏览器来执行重定向。我想知道如果使用嵌入式Web浏览器,此流程对于移动应用程序是否仍然是一个不错的选择。还是应该使用隐式流程?

1
OAuth授权与身份验证
OAuth术语已经困扰我很长时间了。是有人建议的OAuth授权还是身份验证? 如果我错了,请纠正我,但我一直将授权视为允许某人访问资源的行为,但OAuth似乎没有任何实现实际上允许用户访问给定资源的实现。所有讨论的OAuth实现都是为用户提供令牌(已签名且有时是加密的)。然后,此令牌随每次调用传递给后端服务端点,在该端点中检查令牌的有效性,这与OAuth无关。 我是否认为OAuth身份验证(每篇文章都说不是)要求用户提供凭据,从而证明用户应该/应该没有访问权限? 因此,似乎OAuth不是授权NOR身份验证,因为这些必须由其他进程执行。那到底是什么呢?它是传递令牌的过程吗?真的没有具体含义的绒毛字吗? 不听起来神秘和迷信(鬼魂和妖精)就很难问这个问题,所以我希望回答这个问题也不是一件容易的事。输入您自担风险。
87 oauth  oauth-2.0 

10
如何注销我使用OAuth2登录Google的应用程序?
在我的应用程序中,我使用jsapi实现了Google注销。 我使用网址https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=xxxxxx连接到Google,然后使用https://www.googleapis.com/plus/v1/people/xxxxxx来获取用户数据来自Google个人资料。 现在,我需要在我的应用程序中单击一个按钮的同时从Google登出该用户。如何使用JavaScript实现此功能,或者至少在用户每次登录时都必须询问Google登录页面。 我已经尝试过approval_prompt=force,但是似乎没有用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.