← 返回博客

JWT Token详解:原理、结构与安全实践

2026年2月 · 阅读时间 5分钟

JWT(JSON Web Token)是现代Web开发中最流行的身份认证方案。几乎所有前后端分离的项目都在用它。这篇文章帮你彻底搞懂JWT。

JWT的三段式结构

JWT由三部分组成,用点号(.)分隔:

eyJhbGciOiJIUzI1NiJ9.eyJ1c2VyIjoiam9obiJ9.SflKxwRJSMeKKF2QT4fw

工作流程

1️⃣ 用户登录 → 服务器验证密码

2️⃣ 服务器生成JWT → 返回给客户端

3️⃣ 客户端存储JWT(localStorage/Cookie)

4️⃣ 每次请求携带JWT → Authorization: Bearer xxx

5️⃣ 服务器验证签名 → 提取用户信息 → 处理请求

JWT vs Session

对比项JWTSession
存储位置客户端服务端
扩展性✅ 天然分布式需要共享Session
跨域✅ 方便需要额外配置
注销❌ 较难✅ 直接删除
大小较大仅Session ID

常用Payload字段

iss签发者(Issuer)
sub主题(Subject,通常是用户ID)
exp过期时间(Unix时间戳)
iat签发时间
aud受众(Audience)
jtiJWT唯一标识(防重放)

安全最佳实践

✅ 使用HTTPS传输JWT

✅ 设置合理的过期时间(Access Token 15-30分钟)

✅ 使用Refresh Token机制续期

✅ 密钥足够长且安全存储

✅ 验证所有标准字段(exp, iss, aud)

❌ 不要在Payload中存敏感信息(它只是Base64编码,不是加密)

❌ 不要把JWT存在localStorage(XSS风险),推荐HttpOnly Cookie

❌ 不要使用none算法

在线解码工具

需要查看JWT内容?用我们的 免费JWT解码器,粘贴Token即可查看Header和Payload,还能检查是否过期。

更多开发者工具请访问 www.cyunyun.com