Oauth 2.0 Implicit Grant的安全性如何?

时间:2013-01-12 20:48:44

标签: security web oauth-2.0 application-security

在隐式授权中,访问令牌将在回调URL中发回。这不是安全风险,因为如果此回调URL缓存在跃点中。一般情况下,建议不要在URL参数中发送敏感数据,并且此访问令牌将是访问所有安全用户资源的令牌。那么为什么它会作为URL中的片段传递

3 个答案:

答案 0 :(得分:7)

嗯,我担心上面的答案会有一些误解。虽然URL查询字符串在使用TLS时是安全的,因此访问令牌在飞行中受到保护,但它在用户浏览器(其历史记录的一部分)以及目标Web浏览器日志中公开。大多数Web浏览器都会记录传入请求的完整URL。它们是另一个被称为“referer”泄漏问题的问题,其中查询字符串将被传递给第三方站点。可以在以下位置找到一个很好的概述:

http://blog.httpwatch.com/2009/02/20/how-secure-are-query-strings-over-https/

答案 1 :(得分:2)

就像你指出的那样,令牌传递了URI片段。由于浏览器不会将URL片段发送到HTTP服务器,因此大大减少了窃听和接收访问令牌的可能性。

还有其他安全措施,例如仅在隐式授权流程中发布短期访问令牌。

OAuth2 threat models document中的更多信息。

答案 2 :(得分:2)

阐述@ vlatko的回应......

为了降低在片段中(或通过任何其他OAuth2授权)发送令牌的风险:

发布短期访问令牌(如@vlatko所说)将减少泄露令牌的影响,但不是预防措施。