一文带你搞懂 JWT 常见概念 & 优缺点 | JavaGuide
发布网友
发布时间:2024-10-09 05:06
我来回答
共1个回答
热心网友
时间:2024-10-09 05:12
本文主要探讨 JWT 身份认证的优缺点及其常见问题解决方案,让我们一探究竟。
JWT 优势
无状态性:JWT 包含身份信息,服务器无需存储 Session,提高可用性和伸缩性,减轻服务端压力。
避免 CSRF 攻击:由于 JWT 不依赖 Cookie,攻击者无法直接利用用户的 JWT 伪造请求,增强了安全性。
适合移动端:不依赖服务器存储和Cookie,方便移动端应用。
单点登录友好:相较于 Session,JWT 能更轻松实现跨设备登录和跨域问题的解决。
常见问题与解决办法
注销登录问题:JWT 在失效前保持有效性,需用到黑名单机制或缩短有效期。
续签问题:多种方案如调整有效期、返回新 JWT 或者使用 refreshJWT 与 accessJWT 结合。
局限与注意事项
虽然JWT有无状态优势,但在实际项目中可能需要存储部分信息。并非所有场景都适合JWT,选择需考虑项目需求。另外,Sa-Token等工具提供了完善的身份认证解决方案,可作为备选。