JWT 在线解码

本地处理
app.jwt.view

也可通过 #data={"name":"Ada"}#url=... 灌入数据,读完即从地址栏清除。

JWT 由 Header、Payload、签名三段组成。本页只在浏览器里 Base64URL 解码前两段,方便查看过期时间和自定义 claim。Token 不会发到服务器。调试登录态、核对 exp 是否已过期时,不必把真实 Token 贴到不明网站。

exp / sub 。Header 里能看到算法和类型,Payload 里是业务声明。

缺少签名段时,仍会尝试解码前两段,便于处理残缺日志。

不做验签

私钥不应出现在网页里。生产验签请放在后端。任何人拿到 Token 都能读 Payload,保密性靠 HTTPS 和短过期时间。

本页展示签名字符串,但不验证 HMAC / RSA 是否正确。

声明对照

识别 issaudiat 等官方字段并标注含义。数字时间戳会尽量转成可读时间。

自定义 claim 原样列出,方便对照你们自己的登录协议。

示例

Token 形态
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0IiwibmFtZSI6IuW8oOS4iSIsImlhdCI6MTcyMDAwMDAwMCwiZXhwIjoxOTAwMDAwMDAwfQ.signature
解码后能看到什么
{
  "header": { "alg": "HS256", "typ": "JWT" },
  "payload": { "sub": "1234", "name": "张三", "iat": 1720000000, "exp": 1900000000 }
}
签名那一段会校验吗?

当前只展示签名字符串,不验证真伪。任何人都能解码 Payload,保密性靠 HTTPS 和后端验签。

大整数会不会丢精度?

JavaScript Number 有精度上限。特别大的 ID 请对照原始 Payload,不要只看转成的数字。

Token 会保存吗?

不会上传、也不会写入云端历史。关闭标签页即从内存消失。

能用来伪造登录吗?

不能也不应。没有私钥就无法生成可通过服务端验签的 Token。本页只用于阅读。

推荐工作流

  1. 从响应头、Cookie 或本地存储复制 JWT(注意不要发到聊天群)。
  2. 贴入本页或加载示例,查看 Header 与 Payload。
  3. 核对 exp / nbf 是否与当前时间相符,以及 aud 是否指向正确服务。
  4. 验签、刷新、吊销一律在后端完成;本页只帮助阅读。

JWT 可被解码不等于已认证。把 Token 当密码保管,过期后及时失效。