← 返回工具指南
工具指南JWTToken接口调试账号安全工具

JWT 怎么解码和检查过期时间?Header、Payload、exp、iat 指南

JWT 登录失效、token 看不懂、exp 时间不对?这篇讲清楚 JWT Header、Payload、签名、过期时间字段和本地解码排查方法。

打开配套工具 →

JWT 常用于登录态、接口鉴权和临时授权。它看起来像三段用点分开的字符串:

text已剪下 ✓
xxxxx.yyyyy.zzzzz

很多问题都可以先从解码开始看:用户是谁、什么时候签发、什么时候过期、权限字段是否正确。你可以用 JWT 解码工具 在浏览器本地查看 Header 和 Payload。

JWT 三段分别是什么

JWT 通常由三部分组成:

解码 Header 和 Payload 不需要密钥,因为它们只是 Base64URL 编码。真正需要密钥的是验证签名。

解码不等于验证

这是最重要的一点:能解码 JWT,不代表它是真的。

任何人都可以改 Payload 再生成一个看起来像 JWT 的字符串。如果后端不验证签名,就会有严重安全问题。

所以:

exp、iat、nbf 怎么看

Payload 里常见时间字段:

这些字段通常是秒级 Unix 时间戳,不是毫秒。比如:

json已剪下 ✓
{
  "sub": "user_123",
  "iat": 1783411200,
  "exp": 1783497600
}

如果时间看不懂,可以用 时间戳转换工具 转成本地时间。

登录一会儿就掉线怎么排查

JWT 登录失效常见原因:

  1. exp 设置太短。
  2. 秒和毫秒搞混。
  3. 服务器时间不准。
  4. 刷新 token 逻辑失败。
  5. 前端缓存了旧 token。
  6. 后端 secret 或公钥换了。

排查时先解码 token,看 exp 是否真的已经过期。如果没过期,再看后端验证日志。

Header 里的 alg 要注意

Header 里常见:

json已剪下 ✓
{
  "alg": "HS256",
  "typ": "JWT"
}

alg 表示签名算法。后端验证时应该固定允许的算法,不要完全相信 token 自己声明的算法。

如果你在调试签名或验证,可以使用 JWT 签名 / 验证工具,但真实系统仍然要在后端安全处理密钥。

JWT 里不应该放什么

不要在 Payload 放:

JWT 默认可读。它适合放“后端愿意让客户端知道的声明”,不适合当加密容器。

总结

JWT 排查先看结构,再看时间,再看签名验证。解码可以帮助你理解 token 内容,但不能代替后端验证。

你可以用 JWT 解码工具 查看 Header / Payload,用 时间戳转换工具 检查 exp / iat,再根据后端日志确认签名和权限问题。