PRACTICAL GUIDE / 2026-09-26
JWT 结构、过期时间与安全边界
JWT 可以被任何拿到令牌的人读取,解析内容不等于验证令牌可信。
三个组成部分
JWT 通常由 Header、Payload 和 Signature 三段组成。前两段是 Base64URL 编码,签名用于服务端验证内容是否被篡改。
必须在服务端验证
- 签名算法和密钥
- issuer 与 audience
- exp、nbf 等时间声明
- 令牌撤销和业务权限
不要存放秘密
Payload 不应保存密码、私钥或无需暴露的个人信息,因为编码内容可以直接解码查看。
分隔与时间字段
常见签名 JWT 是三段、两个点分隔;本工具解析 Header 和 Payload,不校验第三段签名。exp 表示到期时间、iat 表示签发时间、nbf 表示生效前限制,通常为 Unix 秒,不是毫秒。
虚构时间声明
虚构 Payload:{"sub":"demo-user","iat":1704067200,"nbf":1704067200,"exp":1704070800}。按 UTC,签发与生效为 2024-01-01 00:00:00,到期为 01:00:00,间隔 3600 秒;工作台的本地显示随设备时区变化。
格式正确也不代表可信
复制出只有 header.payload 的文本时缺少第三段,应先检查是否被日志截断。即便给一段虚构签名组成三段并成功解析,也不能据此认定登录有效;签名、发行方、受众、过期与权限由业务服务端验证。