既然 Refresh Token 可以长期有效,那为什么不直接让 Access Token 也长期有效?

✅ 主要原因解析:

  1. Access Token 是“通行证”,泄露风险高
    Access Token 是用来频繁请求接口的,如果被拦截或泄露,攻击者可以立即调用接口获取敏感数据。

如果它是长期有效的,就意味着攻击者可以“永久”持有用户身份。

👮♀️ 短期有效的 Access Token(如 15 分钟)即使被窃取,攻击窗口也被限制。

  1. Refresh Token 是“钥匙”,只用来换 Access Token
    Refresh Token 不直接访问资源,仅用于重新申请 Access Token。

通常刷新接口会有额外的校验(如 IP、设备、行为分析等),服务端还可设置吊销机制。

所以,即使 refresh token 被盗,也可以控制风险面更小。

  1. 可实现 Token Rotation(令牌轮换)机制
    每次使用 refresh token 刷新时,服务端会:

返回新 Access Token;

返回一个新的 Refresh Token;

作废旧的 Refresh Token。

一旦检测到 refresh token 被重复使用(replay attack),可立刻判定为攻击行为 → 强制登出所有设备。

  1. 提升用户体验与安全的平衡
    用户只需要偶尔登录一次(refresh token 有效期长);

系统通过短期 Access Token 保证每次 API 调用是“新鲜安全”的。

🚫 为什么不直接长期有效的 Access Token?

方案 问题
让 Access Token 长期有效 安全性差,token 一旦泄露无法控制
只用 Refresh Token 请求接口时还得先换 token,增加延迟与复杂度
Access Token + Refresh Token ✅ 分工明确,控制灵活,风险窗口小,用户体验好

总结一句话:

Access Token 是短期“门票”,Refresh Token 是长期“身份证”,一动一静,结合使用才安全。

版权声明:
作者:主机优惠
链接:https://www.techfm.club/p/208448.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>