简介

这个 JWT 解码器可以直接在浏览器里查看 JSON Web Token 的内容。你可以粘贴 JWT 或 Bearer token,解码头部和载荷,检查 `iss`、`sub`、`aud`、`scope`、`iat`、`nbf`、`exp` 等常见声明,并快速判断 token 看起来是否已过期或尚未生效。全部处理都在本地完成,更适合调试场景。

使用方法

把完整 JWT 或 Bearer token 粘贴到输入框中。工具会自动移除 Bearer 前缀,按句点拆分 token,解码 Base64URL 格式的头部和载荷,并将结果格式化为可读 JSON。然后查看声明摘要和时间声明区域,必要时复制或下载解码结果用于工单、对比环境或排查日志。这个工具不会验证签名,因此适合查看内容,不适合直接信任 token。

功能特点

  • 在浏览器本地解码 JWT 头部与载荷声明
  • 支持原始 JWT 字符串和 Bearer token
  • 分别输出可读的 Header JSON 与 Payload JSON
  • 检查 `iat`、`nbf`、`exp` 等时间声明
  • 快速汇总算法、签发者、主体、受众、scope 与 key ID
  • 可复制或下载解码后的 JSON,方便调试流程
  • 当 token 看起来已过期或尚未生效时给出提示
  • 不上传服务器,也不会触发签名验证副作用

JWT 解码器能看到什么

一个 JWT 通常由三段组成,分别是头部、载荷和签名。头部一般描述算法、类型和密钥 ID 等元数据。载荷则承载 API 或应用真正关心的声明,例如 token 属于谁、面向哪个受众、何时可以使用、何时必须拒绝。

能解码不等于能验签

解码 JWT 只是把 Base64URL 编码过的 JSON 还原出来,并不代表 token 真实、可信,也不代表内容没有被篡改。签名验证需要正确的密钥材料,应该由你的应用、网关或身份系统来完成。

如何理解 expnbfiat

iat 一般表示签发时间,nbf 表示 token 最早从什么时候开始有效,exp 表示什么时候过期。这些值通常是以秒为单位的 Unix 时间戳。排查环境问题时,要拿它们去对照真正执行鉴权的设备或服务端时钟,而不是只看本地机器时间。

常见 JWT 调试场景

当 Bearer token 在测试环境突然失效、API 返回 401 Unauthorized、多个服务之间 audience 不匹配,或者移动端刷新后似乎还在使用旧 token 时,JWT 解码器都很有帮助。它也适合先判断 token 是否结构异常,再继续排查签名密钥、会话缓存或刷新流程。

JWT 分段说明

每一段在调试时关注点不同。

分段通常包含调试提示
Header算法、类型、key ID适合确认签名方案与 token 格式
Payloadiss、sub、aud、exp 等声明适合检查授权上下文和时间条件
Signature签名字节即使存在,也必须经过验签才能建立信任

常见 JWT 声明

当 token 被拒绝时,开发者最常检查这些字段。

声明含义排查提示
iss签发者确认 token 是否来自预期的身份提供方
sub主体通常表示用户、账号或服务身份
aud受众往往必须与接收 token 的 API 或资源匹配
nbf生效时间未来时间会导致 token 立刻被拒绝
exp过期时间过期 token 是 401 的常见原因

常见问题

这个 JWT 解码器会验证签名吗?

不会。它只负责解码 token 中可读的 JSON 部分。真正的签名验证需要正确的密钥材料,并应在其他系统中完成。

token 会上传到服务器吗?

不会。整个解码过程都在你的浏览器本地完成,不会把 token 内容发送到服务器。

为什么 token 能解码,但 API 还是失败?

因为 token 即使能正常解码,也可能在签名验证、audience、issuer、过期时间、not-before、时钟偏差或 scope 权限上不满足要求。

从请求头里复制出来的 Bearer token 能直接用吗?

可以。如果内容以 `Bearer ` 开头,工具会自动移除前缀后再解码。

如果 token 只有两段怎么办?

有些未签名或非标准 token 会省略签名段。你仍然可以查看头部和载荷,但不应把它当作已签名 JWT。