素材阁

JWT 速查

共 23 条 JWT 结构与校验,涵盖结构、标准声明、签名算法、校验要点、工具。 支持搜索与分类筛选,点击即可复制。

结构

三段用点号连接,前两段是 Base64Url 编码的 JSON。

命令说明
JWT 的三段结构
header:算法与类型
payload:声明(claims)
签名对前两段做运算,防止篡改

标准声明

Registered claims。

命令说明
签发者
主体(通常是用户 ID)
接收方(受众)
过期时间 / 生效时间 / 签发时间(时间戳秒)
唯一标识(防重放)
如 role、tenant(注意别放敏感信息,payload 可被解码)

签名算法

对称与非对称。

命令说明
HMAC 对称算法(同一个密钥签名与校验)
非对称算法(私钥签、公钥验)
无签名——服务端必须明确拒绝
公钥集合,验签时按 kid 取对应公钥

校验要点

安全校验清单。

命令说明
必须验证签名,不能只解码 payload
检查是否过期或尚未生效
确认签发者与受众符合预期
不信任 token 里的 alg,服务端固定允许的算法
轮换密钥时用 kid 定位正确公钥

工具

生成、解析与调试。

命令说明
可视化查看 header/payload(勿放真实敏感数据)
Node 生态常用库
Python 常用库
手工解码某一段(注意 base64url 补全)

使用说明

JWT 速查:结构、标准声明、签名算法、校验要点、工具;支持搜索与分类筛选,点击即可复制。

  1. 按用途点分类:结构、标准声明、签名算法、校验要点、工具。
  2. 点「命令」列复制到代码或调试工具。
  3. 记住 payload 只是 Base64 编码,不要放敏感数据。
  4. 服务端必须:验签 + 验 exp + 固定允许的算法。

常见问题

为什么不能信任 token 里的 alg?
攻击者可把 alg 改成 none 或换成对称算法来绕过验签;服务端必须固定允许的算法列表,不读 token 的 alg 做决策。
JWT 和 Session 怎么选?
JWT 适合无状态、跨服务与客户端携带;Session 适合需要即时吊销和服务端控制的场景。二者可混合使用。
需要联网吗?
不需要,本地可用。

延伸阅读

相关工具