【发布时间】:2015-01-09 01:57:42
【问题描述】:
基于The OAuth 2.0 Protocol Refresh Tokens 用于重新验证访问令牌,主要是通过将刷新令牌保存到数据库并控制它们来维持撤销。这样做有什么好处?为什么不保存Access Token 本身?
【问题讨论】:
-
访问令牌是短暂的,它们通常只能工作 1 小时。
基于The OAuth 2.0 Protocol Refresh Tokens 用于重新验证访问令牌,主要是通过将刷新令牌保存到数据库并控制它们来维持撤销。这样做有什么好处?为什么不保存Access Token 本身?
【问题讨论】:
访问令牌是短暂的,它们通常只能工作 1 小时。为了获得新的访问令牌,您需要使用刷新令牌。
第 24 页
Authorization servers SHOULD issue access tokens with a limited
lifetime and require clients to refresh them by requesting a new
access token using the same assertion if it is still valid.
Otherwise the client MUST obtain a new valid assertion.
通过发送刷新令牌并请求新的访问令牌,这使身份验证服务器有机会验证您仍然具有访问权限并且用户没有撤销您的访问权限。
在下面回答原因:
访问令牌寿命短的原因是,如果它们被泄露,攻击者使用它的时间是有限的。它通常会在一个小时内过期。
如果刷新令牌被泄露,它就毫无用处,因为黑客无权访问客户端 ID,而客户端 ID 必须同时发送到身份验证服务器以获取新的访问令牌。
【讨论】:
请参阅 Why Does OAuth v2 Have Both Access and Refresh Tokens? 以获取包含撤销注意事项的扩展答案
【讨论】: