Skip to content

"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

参考链接

refresh token

Released under the MIT License.