我已经看到了
为什么 OAuth v2 同时具有访问令牌和刷新令牌?
https://auth0.com/blog/refresh-tokens-what-are-they-and-when-to-use-them/
根据我的理解,这就是OAuth v2的工作方式:
1) 用户将其凭据发送到服务器,服务器对其进行验证并返回access_token
和refresh_token
2)用户发送此acsess_token
以及进一步的自我识别请求
3)当access_token
到期时,用户向服务器发送另一个请求,其中包含refresh_token
和其他必需参数,要求新的access_token
和refresh_token
这是我的问题:
需要单独的refresh_token
吗?为什么不发送旧access_token
(无论如何即将过期),换一个新的??
使用refresh_token
的额外优势是什么?
从理论上讲,访问令牌的作用更大。它可以在浏览器中、客户端的服务器端、授权服务器上或资源服务器上。访问令牌将附加到每个 API 请求,而刷新令牌的使用频率应低得多。
网上的几句话...
与访问令牌不同,刷新令牌仅用于授权服务器,永远不会发送到资源服务器。https://www.rfc-editor.org/rfc/rfc6749#section-10.4
[刷新令牌] 通常受到严格的存储要求,以确保它们不会泄露。https://auth0.com/learn/refresh-tokens/
基本上,如果我们只有访问令牌,则攻击面会更大。