JWT 过期时间 exp 怎么看?
解释 JWT 的 exp、iat、nbf 字段含义,以及为什么 token 明明存在却提示过期。
打开 JWT 解析工具exp 通常是秒级时间戳
JWT 的 payload 里经常会出现 exp、iat、nbf。exp 表示过期时间,iat 表示签发时间,nbf 表示在这个时间之前不可用。
这些字段一般使用秒级 Unix 时间戳。查看时可以先解码 payload,再把 exp 转成北京时间判断是否已经过期。
- exp:Expiration Time,过期时间。
- iat:Issued At,签发时间。
- nbf:Not Before,生效时间。
为什么 token 看起来没问题却 401
JWT 解码只是把内容读出来,并不代表签名一定有效。服务端校验还会检查签名、算法、密钥、issuer、audience、过期时间和权限范围。
如果本地时间和服务器时间相差较大,也可能出现刚签发就不可用、还没到期却被认为过期的问题。
安全调试建议
不要把真实生产 token 发到陌生网站或聊天窗口。调试时可以使用脱敏 token,或者只复制 payload 中非敏感字段。
本站 JWT 解析工具用于查看 Header 和 Payload,适合开发联调时快速确认字段和时间。
常见问题
JWT 解码需要密钥吗?
查看 Header 和 Payload 不需要密钥,但验证签名必须知道正确密钥或公钥。
exp 是毫秒还是秒?
JWT 标准场景里通常是秒级时间戳,不是 JavaScript 的 13 位毫秒。
JWT 过期后能续期吗?
要看系统设计。常见做法是使用 refresh token 换取新的 access token。