accessToken&refreshToken
Access Token(访问令牌)
定义:Access Token 是一种短期有效的令牌,用于授权用户访问特定的资源或 API。
有效期:通常具有较短的有效期(如几分钟到几小时),以提高安全性。
用途:在用户请求访问受保护资源时,Access Token 会被发送到服务器进行验证。服务器根据这个令牌来判断用户是否有权限访问所请求的资源。
格式:Access Token 可以是 JWT(JSON Web Token)格式,也可以是其他格式,具体取决于实现。
安全性:由于其有效期短,Access Token 被盗用后所造成的损失相对较小,因此通常建议使用 HTTPS 进行传输,以防止中间人攻击。
Refresh Token(刷新令牌)
定义:Refresh Token 是一种用于获取新的 Access Token 的令牌。通常在用户登录时生成,并在 Access Token 过期时使用。
有效期:Refresh Token 的有效期通常较长,可以是几天、几周甚至更长,具体取决于应用的安全策略。
用途:当 Access Token 过期时,客户端可以使用 Refresh Token 请求新的 Access Token,而无需用户重新登录。这种机制提高了用户体验,因为用户不需要频繁输入凭证。
安全性:由于 Refresh Token 的有效期较长,必须妥善保管,避免被盗用。一般建议将其存储在安全的地方(如服务器端或安全的存储机制中)。
刷新和续期的流程
获取 Token:
- 用户通过登录获取 Access Token 和 Refresh Token(令牌的过期时间expires_in)。
使用 Access Token:
- 用户在访问受保护资源时使用 Access Token。
Access Token 过期:
- 当 Access Token 过期时,用户的请求将返回 401 Unauthorized 错误。
使用 Refresh Token 刷新 Access Token:
- 客户端捕获到 401 错误后,使用 Refresh Token 向服务器请求新的 Access Token。
- 服务器验证 Refresh Token 的有效性,并返回新的 Access Token(可选地返回新的 Refresh Token)。
更新 Refresh Token:
- 如果服务器返回了新的 Refresh Token,客户端需要替换旧的 Refresh Token。
Refresh Token 过期:
- 如果 Refresh Token 过期,用户需要重新登录以获取新的 Access Token 和 Refresh Token。

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Meng's blog!