"Bearer token"是一种用于身份验证的安全令牌。它是一种访问令牌,通常用于通过API访问受保护的资源。 Bearer token通常被包含在HTTP请求的头部中,并且在验证用户身份时起着重要作用。Bearer token的安全性取决于其保密性和有效期限。
我们签发的access_token就是上面说的安全令牌。因此,拥有最小化访问令牌风险的安全策略至关重要。一种缓解方法是创建具有短寿命的访问令牌:它们仅在以小时或天为单位定义的短时间内有效。
客户端应用程序可以通过不同方式为用户获取新的访问令牌。
- 一旦访问令牌过期,客户端应用程序可以提示用户重新登录以获取新的访问令牌。
- 授权服务器可以向客户端应用程序发放刷新令牌,使其能够用新的令牌替换过期的访问令牌。
什么是refresh token
根据之前提到的,出于安全考虑,access_token可能只在短时间内有效。一旦过期,客户端应用程序可以使用刷新令牌来“刷新”访问令牌。 换句话说,刷新令牌是一种凭证工具,允许客户端应用程序获取新的access_token,而无需再次要求用户重新登录。
The refresh token flow is described in the OAuth 2.0 specification document.
+--------+ +---------------+
| |--(A)------- Authorization Grant --------->| |
| | | |
| |<-(B)----------- Access Token -------------| |
| | & Refresh Token | |
| | | |
| | +----------+ | |
| |--(C)---- Access Token ---->| | | |
| | | | | |
| |<-(D)- Protected Resource --| Resource | | Authorization |
| Client | | Server | | Server |
| |--(E)---- Access Token ---->| | | |
| | | | | |
| |<-(F)- Invalid Token Error -| | | |
| | +----------+ | |
| | | |
| |--(G)----------- Refresh Token ----------->| |
| | | |
| |<-(H)----------- Access Token -------------| |
+--------+ & Optional Refresh Token +---------------+
https://www.geeksforgeeks.org/jwt-authentication-with-refresh-tokens/
https://stackoverflow.com/questions/27726066/jwt-refresh-token-flow