PRACTICAL GUIDE / 2026-09-26

JWT 结构、过期时间与安全边界

JWT 可以被任何拿到令牌的人读取,解析内容不等于验证令牌可信。

01

三个组成部分

JWT 通常由 Header、Payload 和 Signature 三段组成。前两段是 Base64URL 编码,签名用于服务端验证内容是否被篡改。

02

必须在服务端验证

  • 签名算法和密钥
  • issuer 与 audience
  • exp、nbf 等时间声明
  • 令牌撤销和业务权限
03

不要存放秘密

Payload 不应保存密码、私钥或无需暴露的个人信息,因为编码内容可以直接解码查看。

04

分隔与时间字段

常见签名 JWT 是三段、两个点分隔;本工具解析 Header 和 Payload,不校验第三段签名。exp 表示到期时间、iat 表示签发时间、nbf 表示生效前限制,通常为 Unix 秒,不是毫秒。

05

虚构时间声明

虚构 Payload:{"sub":"demo-user","iat":1704067200,"nbf":1704067200,"exp":1704070800}。按 UTC,签发与生效为 2024-01-01 00:00:00,到期为 01:00:00,间隔 3600 秒;工作台的本地显示随设备时区变化。

06

格式正确也不代表可信

复制出只有 header.payload 的文本时缺少第三段,应先检查是否被日志截断。即便给一段虚构签名组成三段并成功解析,也不能据此认定登录有效;签名、发行方、受众、过期与权限由业务服务端验证。