使用方法
- 把 JWT 粘贴进输入框,随输入实时解码;带
Bearer前缀也能识别。 - 查看格式化后的头部与载荷。
- 看有效性徽章——它会用你的本机时钟换算
exp与nbf。 - 签名原样展示,但不做验证,原因见下。
关于 JSON Web Token
JWT 是用点号连接的三段 base64url 编码内容:描述签名算法的头部、承载声明的载荷,以及对 前两段计算出的签名。因为这些段落只是编码,解码不需要密钥、也不需要服务端——这正是本工具 能完全在浏览器内离线工作的原因。
最容易让人栽跟头的性质是:JWT 并没有加密。Base64 是编码不是密码学变换,任何持有 token 的人都能读出其中每一项声明。签名保证的是签发后内容未被改动,仅此而已。载荷里放 用户 ID 或角色没问题;但 API 密钥、不该让用户看到的邮箱,或任何你不愿写进日志的东西, 都不该出现在那里。
几乎所有实现都会认的是那几个注册声明:exp(过期)、iat(签发时间)、nbf(生效
时间)、sub(主体)、iss(签发方)、aud(受众)。三个时间声明都是以秒为单位的
Unix 时间戳,这在 JavaScript 里是高频 bug 来源——那里的 Date 要的是毫秒。
最后关于「信任」:本工具告诉你的是 token 说了什么,而不是这个 token 是否为真。这是两个 不同的问题,只有持有密钥的服务端能回答第二个。一个能干净解码、也没有过期的 token, 完全可能是彻头彻尾伪造的。