跳到正文
SPCXTools

JWT 解码器

在浏览器中私密地解码 JSON Web Token、检查过期时间并验证 HMAC 签名。

本地运行——文件不会离开你的设备

正在加载工具…

如何使用JWT 解码器

  1. 1将 JWT (由点分隔的三个 Base64URL 部分) 粘贴到 令牌 输入框中,或点击 载入示例。
  2. 2以格式化的 JSON 形式读取解码后的 头部 和 载荷。
  3. 3检查状态行,查看令牌是有效、已过期还是尚未生效;时间声明会显示为可读的日期。
  4. 4对于 HS256、HS384 或 HS512 令牌,输入密钥以在本地验证签名。

解码 JSON Web Token

JSON Web Token (JWT) 是一个紧凑的字符串,用于在系统之间传递身份和权限信息——最常见的形式是登录后作为 Authorization: Bearer 标头。它看起来像随机文本,但实际上是由三个 Base64URL 编码的部分组成:一个 头部 (header)、一个包含声明的 载荷 (payload),以及一个 签名 (signature)。本 JWT 解码器会拆分令牌,将前两个部分解码为可读的 JSON,并解释重要的声明。解码和验证都在本地进行,因此您的令牌绝不会被传输。

功能特性

  • 头部和载荷 解码并美化格式,每个部分都带有复制按钮。
  • 解释时间声明:将 iat、nbf、exp 和 auth_time 从 Unix 时间戳(秒)转换成您所在时区的日期。
  • 过期检查,让您一目了然地知道令牌是否已过期或尚未生效。
  • 使用浏览器的 Web Crypto API 对 HS256、HS384 和 HS512 进行 HMAC 签名验证。
  • 页面加载后可 离线工作;不会向任何地方发送数据。

使用场景

调试身份验证。 当请求因 401 Unauthorized 而失败时,解码令牌以检查它是否已过期、是否为正确的目标受众 (aud) 颁发,或是否包含预期的角色和范围。

构建和测试 API。 在发布前,验证您的服务器是否已将预期的声明和正确的过期时间放入令牌中。

学习 OAuth 和 OpenID Connect 的工作原理。 来自身份提供商的 ID 令牌和访问令牌通常是 JWT。解码一个测试令牌可以展示提供商共享了哪些关于用户的信息。

JWT 的结构

header.payload.signature

  • 头部 (Header) — 令牌类型和签名算法,例如 {"alg":"HS256","typ":"JWT"}。
  • 载荷 (Payload) — 声明。注册声明包括 iss (颁发者)、sub (主题,通常是用户 ID)、aud (受众)、exp、nbf、iat 和 jti (令牌 ID)。应用程序可以添加自定义声明,如 name 或 role。
  • 签名 (Signature) — 通过使用密钥 (HMAC) 或私钥 (RSA, ECDSA, EdDSA) 对 header.payload 进行签名而创建。如果任何人更改了头部或载荷中的任何一个字符,签名将不再匹配。

由于载荷只是被编码,切勿将密码等机密信息放入 JWT 中。要解码其他 Base64 数据,请使用 Base64 工具;要查看任何时间戳,请使用 Unix 时间戳转换器。

常见问题

在这里粘贴真实的令牌安全吗?
令牌的解码和验证完全在您的浏览器中进行,绝不会发送到我们的服务器。尽管如此,JWT 是一种凭证——请像对待密码一样对待它,避免共享生产环境的令牌,并尽可能使用测试令牌。
解码 JWT 能证明它是真实的吗?
不能。任何人都可以解码头部和载荷,因为它们只是经过 Base64URL 编码,并未加密。只有当令牌的签名通过正确的密钥验证后,它才是可信的。对于 HMAC 令牌,您可以在此输入密钥进行验证;对于 RSA 和 ECDSA 令牌,则必须在您的应用程序中使用颁发者的公钥进行验证。
exp、iat 和 nbf 是什么意思?
exp (expiration time, 过期时间) 是令牌失效的时刻,iat (issued at, 颁发时间) 是令牌创建的时刻,而 nbf (not before, 生效时间) 是令牌可被使用的最早时刻。这三者都是以秒为单位的 Unix 时间戳;本解码器会将它们转换为您所在时区的日期。
为什么提示令牌无效?
一个 JWT 必须由点分隔的三个部分组成,并且前两个部分必须是 Base64URL 编码的 JSON。请检查您是否完整复制了整个令牌,并且没有包含 Bearer 前缀、引号或换行符。
这个工具可以解码加密令牌 (JWE) 吗?
不可以。加密的 JWT (JWE) 有五个部分,其载荷只能用解密密钥读取。本工具处理的是签名令牌 (JWS),这也是大多数 API 使用的类型。