用于声明和过期检查的 JWT 解码器

通过解码头部和负载、突出显示 exp 和 iat,并聚焦常见导致认证失败的声明,更快检查 Bearer 令牌。

本指南用于调试真实的认证失败。解码令牌、读取声明,并准确说明该工具能证明什么、不能证明什么。

适用场景
API 拒绝 Bearer 令牌,而你需要在重试前检查头部、声明或时间戳。
首先检查什么
先检查 alg、exp、aud、scope 和 sub,因为它们通常能解释为什么看似有效的令牌仍会失败。
常见陷阱
解码只能显示令牌内容,并不能证明签名有效或可信。
示例工作流
只粘贴原始令牌
如果你复制的是 Authorization 请求头,请在粘贴到解码器前移除 Bearer 前缀。
Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
识别已过期的令牌
当认证失败看起来是间歇性或环境相关时,请先关注 exp。
{"sub":"user-123","exp":1712732400}
检查自定义声明
即使令牌结构看起来没问题,aud、scope 和 sub 也常常能解释授权不匹配的原因。
{"aud":"api://comutil","scope":"read:users write:users","sub":"user-123"}
检查分段结构
JWT 由三个 Base64URL 段组成,因此格式错误的标点或填充可能会破坏复制后的令牌。
header.payload.signature
在怪 API 之前先检查什么

检查 exp 和 iat 以排查时钟漂移,检查 aud 以排查受众不匹配,检查 scope 以排查权限缺失。这些检查通常比重新复现请求更快。

  • 当 exp 或 iat 的值难以快速读懂时,请使用 Unix 时间戳工具。
解码并不验证签名

此页面读取令牌结构和声明内容。它不会验证签名、校验信任链,也不会确认该令牌是否由预期签发者发出。

  • 在事故记录中保持表述准确:解码内容是有用证据,但不等同于验证。