Questions tagged «oauth-2.0»

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

10
OAuth 2与OAuth 1有何不同?
简单来说,有人可以解释OAuth 2和OAuth 1之间的区别吗? OAuth 1现在过时了吗?我们应该实施OAuth 2吗?我看不到OAuth 2的许多实现;大多数人仍在使用OAuth 1,这使我怀疑OAuth 2可以使用了。是吗?

8
OAuth 2如何使用安全性令牌防范诸如重播攻击之类的事情?
据我了解,OAuth 2中发生了以下一系列事件,以便Site-A从中访问用户的信息Site-B。 Site-A在上注册Site-B,并获取密钥和ID。 当用户告诉Site-A访问Site-B,用户发送给Site-B他们讲Site-B,他们的确会想给Site-A权限的具体信息。 Site-B将用户Site-A以及授权码重定向回。 Site-A然后将该授权码及其秘密传递回以Site-B换取安全令牌。 Site-A然后将安全令牌与请求捆绑在一起Site-B,代表用户发出请求。 从安全性和加密的角度来看,所有这些工作如何运作?OAuth 2如何使用安全性令牌防范诸如重播攻击之类的事情?
564 oauth-2.0 

30
Google OAuth 2授权-错误:redirect_uri_mismatch
在网站https://code.google.com/apis/console上,我已经注册了我的应用程序,将生成的Client ID:和Client Secret设置到我的应用程序,并尝试使用Google登录。不幸的是,我收到错误消息: Error: redirect_uri_mismatch The redirect URI in the request: http://127.0.0.1:3000/auth/google_oauth2/callback did not match a registered redirect URI scope=https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email response_type=code redirect_uri=http://127.0.0.1:3000/auth/google_oauth2/callback access_type=offline approval_prompt=force client_id=generated_id 此消息是什么意思,我该如何解决?我使用gem omn​​iauth-google-oauth2。

5
当“隐式”流程运行良好时,为什么OAuth2中会有“授权码”流程?
通过“隐式”流程,在资源所有者(即用户)授予访问权限后,客户端(可能是浏览器)将获得访问令牌。 但是,通过“授权码”流程,客户端(通常是Web服务器)仅在资源所有者(即用户)授予访问权限后才获得授权码。然后,客户端使用该授权代码对API进行另一个调用,将client_id和client_secret与授权代码一起传递,以获得访问令牌。一切都在这里描述得很好。 两种流具有完全相同的结果:访问令牌。但是,“隐式”流程要简单得多。 问题:当“隐式”流接缝很好时,为什么还要打扰“授权码”流?为什么不同时对Web服务器使用“隐式”? 对于提供商和客户而言,这都是更多的工作。

3
OAuth 2.0:好处和用例-为什么?
谁能解释OAuth2有什么好处,为什么我们要实现它?我问是因为对此有些困惑-这是我目前的想法: OAuth1(更确切地说是HMAC)请求看起来合乎逻辑,易于理解,易于开发并且非常安全。 相反,OAuth2带来了授权请求,访问令牌和刷新令牌,并且您必须在会话开始时发出3个请求才能获取所需的数据。即使这样,当令牌过期时,您的请求之一最终也会失败。 为了获得另一个访问令牌,您可以使用与访问令牌同时传递的刷新令牌。从安全角度来看,这会使访问令牌无效吗? 另外,正如/ r / netsec最近显示的那样,SSL并不是完全安全的,因此将所有内容都放到TLS / SSL而不是安全的HMAC的推动使我感到困惑。 OAuth争辩说这不是100%的安全性,而是使其发布和完成。从提供商的角度来看,这听起来并不乐观。当提到6种不同的流程时,我可以看到该草案试图达到的目的,但是我的脑袋并没有完全融合在一起。 我认为与实际不喜欢它相比,了解它的好处和推理可能要比我更努力,因此这可能是不必要的攻击,如果这看起来像是咆哮,那就对不起。
256 oauth  oauth-2.0 

12
OAuth 2中隐式授予授权类型的目的是什么?
我不知道我是否只有某种盲点或什么盲点,但是我已经多次阅读了OAuth 2规范并仔细阅读了邮件列表档案,而且我还没有找到关于为何使用“隐式授予”的很好的解释。已经开发了获取访问令牌的流程。与“授权代码授予”相比,它似乎没有太多令人信服的理由就放弃了客户端身份验证。如何“针对使用脚本语言在浏览器中实现的客户端进行优化”(引用规范)? 两种流程的开始都是相同的(来源:http : //tools.ietf.org/html/draft-ietf-oauth-v2-22): 客户端通过将资源所有者的用户代理定向到授权端点来启动流程。 授权服务器(通过用户代理)对资源所有者进行身份验证,并确定资源所有者是授予还是拒绝客户端的访问请求。 假设资源所有者授予访问权限,授权服务器使用之前(在请求中或在客户端注册期间)提供的重定向URI将用户代理重定向回客户端。 重定向URI包含授权码(授权码流) 重定向URI在URI片段中包含访问令牌(隐式流) 这是人流分裂的地方。在这两种情况下,重定向URI都指向客户端托管的某个端点: 在授权代码流中,当用户代理使用URI中的授权代码访问该端点时,该端点处的代码将授权代码及其客户端凭据交换为访问令牌,然后可以根据需要使用该访问令牌。例如,它可以将其写入网页上的脚本可以访问的网页。 隐式流程完全跳过了此客户端身份验证步骤,仅使用客户端脚本加载网页。URL片段在这里有一个可爱的技巧,可以防止访问令牌传递过多,但是最终结果基本上是相同的:客户端托管的站点提供了一个页面,其中包含一些可以捕获访问令牌的脚本。 。 因此,我的问题是:跳过客户端身份验证步骤在这里获得了什么?

4
为什么访问令牌过期?
我刚刚开始使用Google API和OAuth2。当客户授权我的应用程序时,我会得到一个“刷新令牌”和一个短暂的“访问令牌”。现在,每次访问令牌过期时,我都可以将刷新令牌发布到Google,他们会给我一个新的访问令牌。 我的问题是访问令牌到期的目的是什么?为什么不能只有持久的访问令牌而不是刷新令牌? 另外,刷新令牌会过期吗? 有关Google OAuth2工作流程的更多信息,请参见使用OAuth 2.0访问Google API。

4
什么是重定向URI?它如何适用于OAuth2.0的iOS应用?
在这里的初学者程序员,请原谅无知,并且解释将非常好:) 我试图阅读某些OAuth 2.0服务的教程,但我不理解此重定向URI ...在我的特定情况下,假设我正在尝试构建将OAuth 2.0用于某些服务的iPhone应用。我有一个已生成的应用程序ID,但是我需要提供某种重定向URI才能生成API密钥。 这是我本应在某个地方托管的URL吗?顾名思义,我认为重定向URL应该“重定向”某人。我唯一的猜测是,这是用户登录服务后重定向到的URL。 但是,即使这个假设是正确的,我也不了解另一件事-将我的应用程序发送到浏览器进行用户登录后,如何再次打开我的应用程序?

9
OAuth授权代码和隐式工作流程有什么区别?什么时候使用每个?
OAuth 2.0具有多个工作流程。关于这两个,我有几个问题。 授权码流程 -用户从客户端应用登录,授权服务器向应用返回授权码。然后,该应用将授权代码交换为访问令牌。 隐式授予流程 -用户从客户端应用程序登录,授权服务器直接向客户端应用程序颁发访问令牌。 两种方法在安全性方面有什么区别?哪一个更安全,为什么? 当服务器可以直接发出访问令牌时,我看不出在一个工作流程中添加额外步骤(令牌的交换授权代码)的原因。 不同的网站说,当客户端应用程序可以确保凭据安全时,将使用授权代码流。为什么?
165 oauth  oauth-2.0 

9
使用翻新功能刷新OAuth令牌,而无需修改所有调用
我们正在Android应用中使用Retrofit,以与OAuth2安全服务器进行通信。一切正常,我们使用RequestInterceptor在每个调用中都包含访问令牌。但是,有时访问令牌将过期,并且令牌需要刷新。当令牌到期时,下一个调用将返回未经授权的HTTP代码,因此易于监视。我们可以通过以下方式修改每个Retrofit调用:在失败回调中,检查错误代码,如果错误代码等于Unauthorized,则刷新OAuth令牌,然后重复Retrofit调用。但是,为此,应修改所有调用,这不是一个易于维护的好的解决方案。有没有一种方法可以修改所有Retrofit调用?

28
如何在Android上获取OAuth 2.0的签名证书指纹(SHA1)?
我正在尝试按照https://developers.google.com/console/help/#installed_applications中的步骤注册我的android应用, 这使我遵循 http://developer.android.com/tools/publishing/app- signing.html。 但是,我不确定如何获取签名证书指纹(SHA1)。 我首先使用Eclipse ADT插件来导出和创建密钥库/密钥。然后,我尝试这样做keytool -list keystore mykeystore.keystore,它给了我MD5证书指纹。我需要重做签名吗(这意味着我不能使用eclipse导出向导)? 我可以先使用调试证书吗?
154 android  oauth-2.0 

4
Google访问令牌的到期时间
当我access_token从Google API 获得时,它带有一个expires_in值。根据文档,此值表示“访问令牌的剩余寿命”。 此值的单位是什么?
150 oauth-2.0 


4
在React Native中将授权标头与Fetch一起使用
我试图fetch在React Native中使用以从Product Hunt API获取信息。我已经获得了正确的访问令牌并将其保存到State,但是似乎无法在GET请求的Authorization标头中传递它。 这是我到目前为止的内容: var Products = React.createClass({ getInitialState: function() { return { clientToken: false, loaded: false } }, componentWillMount: function () { fetch(api.token.link, api.token.object) .then((response) => response.json()) .then((responseData) => { console.log(responseData); this.setState({ clientToken: responseData.access_token, }); }) .then(() => { this.getPosts(); }) .done(); }, getPosts: function() { var obj …

3
OAuth 2中的承载令牌和token_type是什么?
我正在尝试从OAuth 2规范实施资源所有者和密码凭证流。我无法理解通过token_type有效响应发送回的值。规格中的所有示例均显示,"token_type":"example"但表示应 token_type必填。如7.1节所述发行的令牌类型 。值不区分大小写。 有人可以向我解释一下吗?
140 oauth-2.0 

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.