在OAuth2身份validation过程中,刷新令牌只能使用一次。 当使用refresh_token ,它将返回一个新的access_token 和一个新的refresh_token 。
这也在RFC6819规范中 :
5.2.2.3。 刷新令牌旋转
刷新令牌轮换旨在自动检测并阻止尝试从不同的应用程序/设备并行使用相同的刷新令牌。 如果令牌从客户端被窃取,并且随后被攻击者和合法客户端使用,则会发生这种情况。 其基本思想是用每个刷新请求来更改刷新标记值,以检测尝试使用旧刷新标记获取访问令牌的尝试。 由于授权服务器不能确定攻击者或合法客户端是否试图访问,在这种访问尝试的情况下,有效刷新令牌和与其相关联的访问授权都被撤销。
- zScaler cookie身份validation如何工作?
- 如何在ldap中处理多域用户
- 如何创build一个从主服务器inheritanceauthentication的Linux服务器?
- 使用用户loginSQL EXPRESS的问题
- 使用Exchange WebDAV / Outlook Web Access进行身份validation
OAuth规范支持这一措施,因为令牌的响应允许授权服务器甚至对授予types为“refresh_token”的请求返回新的刷新令牌。
注意:由于必须确保使用当前有效的刷新令牌,因此此措施可能会在群集环境中导致问题。 在这样的环境下,其他措施可能更合适。
这也允许authentication服务器识别出refresh_token已被泄露,因为它只应该被使用一次。 如果具有相同的refresh_token的新的更新请求进来authentication服务器知道有什么可疑的事情发生。
我想知道服务器处理这种情况的正确方法是什么? 我的猜测是,至less所有的特定客户的access_tokens应该被直接废除。
OAuth2服务器如何使用相同的refresh_token通常处理多个请求?