在隐格兰特访问令牌回调URL发送回去。 是因为,如果这个回调URL在跳缓存这不是一个安全隐患。 一般来说,建议,不要在网址参数发送敏感数据,而这个访问令牌将令牌来访问所有受保护的用户资源。 那么,为什么它获得通过在URL片段
Answer 1:
在阐述@弗拉特科的回应...
为了减轻在该片段发送令牌(或通过任何其它的OAuth2许可)的风险:
- 确保OAuth的端点和回调端点是TLS(HTTPS)(参见对策 )
- 发送状态参数 ,以防止跨站点伪造(另见: http://tools.ietf.org/html/rfc6749#section-4.2.1 )
发行短期访问令牌(如@vlatko说的)会减少泄露令牌的影响,但不是一种预防性措施。
Answer 2:
哼哼,恐怕有在上面的回答有些误解。 虽然URL查询字符串使用TLS时,因此访问令牌在飞行中保护被固定,它被暴露在用户浏览器(其历史的一部分),并在目标Web浏览器日志。 大多数Web浏览器将记录传入请求的整个网址。 他们是被称为“引荐”泄漏的问题,其中的查询字符串将被传递到第三方网站的另外一个问题。 一个很好的概述,可以在下面找到:
http://blog.httpwatch.com/2009/02/20/how-secure-are-query-strings-over-https/
Answer 3:
就像你所指出的,该令牌通过URI片段。 由于浏览器不发送URL的片段HTTP服务器,会有人偷听,拿起访问令牌的机会将大大减少。
也有额外的安全措施,如只在隐含补助流发出短暂的访问令牌。
在OAuth2用户的更多信息威胁模型文档 。
文章来源: How secure is Oauth 2.0 Implicit Grant?