可以缩短token的有效期,然后加一个刷新token进行无感刷新, 无感刷新token怎么实现?
- 双Token分工(关键)
• accessToken(访问令牌):短期有效(15-30分钟),用于接口请求,过期快更安全。
• refreshToken(刷新令牌):长期有效(7-30天),仅用于刷新accessToken,权限单一风险低。
• 两者均存httpOnly cookie,refreshToken额外加path=/api/refresh(仅刷新接口可用),缩小泄露影响。
-
无感刷新流程(用户无感知)
-
前端发请求→accessToken过期→后端返回401。
-
拦截401请求,用refreshToken调用刷新接口,后端校验通过后,返回新accessToken并更新cookie。
-
自动重试之前失败的请求,全程用户看不到登录页,无感知恢复操作。