JWT 解码器

粘贴 JSON Web Token,即可解码其 header、payload 声明和过期时间。全程在浏览器本地运行。

JSON Web Token 是什么?

JSON Web Token(JWT)是一项开放标准(RFC 7519),它定义了一种紧凑、自包含的方式,把信息以 JSON 对象的形式在各方之间安全传递。这些信息经过数字签名,因此可以被校验和信任。JWT 是 API 认证令牌和单点登录(SSO)会话中最主流的格式。

JWT 的结构

一个 JWT 由三部分组成,彼此用点号(.)分隔:

每个部分都采用 Base64URL 编码(与 Base64 类似,但用 -_ 替换 +/,且不带补位)。

如何使用本 JWT 解码器

  1. 把你的 JWT 粘贴到上方的输入框。
  2. 点击 解码 JWT,header 和 payload 会立即被解码并展示出来。
  3. 查看 过期标签 判断令牌是否已过期,并通过 声明表 查看签发者、主题、受众等关键字段。
  4. 展开 原始 JSON 可查看完整的 payload 对象。

常见问题

JWT 是什么?
JSON Web Token(JWT)是一种紧凑、URL 安全的令牌格式,用于在双方之间表示声明(claims)。它由三个用点号分隔的 Base64URL 编码部分组成:header(算法和令牌类型)、payload(声明 / 数据)和 signature(签名)。JWT 被广泛用于 Web API 的认证和授权。
把我的 JWT 粘贴到这里安全吗?
本工具完全在你的浏览器中运行,不会把任何数据发送到服务器。不过 JWT 属于 bearer 令牌:任何持有有效 JWT 的人都能使用它。作为通用原则,请避免把携带敏感载荷的生产环境 JWT 粘贴到任何在线工具中。尽量使用测试令牌或已过期的令牌。
本工具能校验 JWT 签名吗?
不能。签名校验需要密钥(对 HS256 等 HMAC 算法)或公钥(对 RS256 等非对称算法)。本工具只解码 header 和 payload —— 无法告诉你某个令牌是否是合法签发的,或是否被篡改过。
JWT 声明(claims)是什么?
声明是编码在 payload 中、关于主题的陈述。标准(注册)声明包括:iss(签发者)、sub(主题)、aud(受众)、exp(过期时间)、nbf(生效时间)、iat(签发时间)和 jti(JWT ID)。应用也可以自定义(私有)声明。
过期状态是什么意思?
exp 声明包含一个表示令牌过期时间的 Unix 时间戳。本工具会拿 exp 和你本地的时钟比较。“已过期”表示当前时间已经晚于 exp —— 任何正确实现的服务器都应该拒绝该令牌。“有效”表示令牌尚未过期。