【发布时间】:2012-07-06 14:46:45
【问题描述】:
这里接受的关于why OAuth2 access tokens expire的答案:
- 许多提供商都支持不安全的不记名令牌。通过使它们变得短暂并需要刷新,它们限制了攻击者滥用被盗令牌的时间。 (这是什么意思?我认为它的意思是允许在没有 TLS 的情况下进行传输?还有什么?)。
- 大规模部署不希望在每次 API 调用时都执行数据库查找,因此他们会发布可通过解密验证的自编码访问令牌。但是,这也意味着无法撤销这些令牌,因此它们会在短时间内发行,并且必须刷新。
- 刷新令牌需要客户端身份验证,这使其更强大。与上述访问令牌不同,它通常通过数据库查找来实现。
假设我们不支持访问令牌的非加密传输处理第一个要点。
假设我们可以针对可撤销的、完全随机的访问令牌进行数据库查找来处理第二个访问令牌。
对于移动应用,客户端认证不能再强了,因为“注册时获取的client_id和client_secret是嵌入到你的应用程序源代码中的。在这种情况下,client_secret显然不被视为秘密。” (Google)。这消除了第三个问题。
那么在这种情况下分离短期访问令牌和长期刷新令牌有什么好处?只发布未过期的访问令牌并忽略整个刷新令牌部分是否“可以”?p>
【问题讨论】:
标签: security oauth-2.0 access-token