JWT 解码

粘贴 JSON Web Token 即可查看 header 和 payload。exp、iat、nbf 会显示为本地时间和剩余时长。不验证签名。

令牌

如何解码 JWT

  1. 1粘贴令牌,开头的“Bearer ”会被自动去掉。
  2. 2以格式化 JSON 查看 header 和 payload。
  3. 3在“时间声明”里查看令牌是否已过期或尚未生效。

JWT 的组成

JWT 是用点号连接的三段 Base64url 字符串。header 和 payload 是 JSON;签名是二进制数据,只能用签发方的密钥验证。

Header令牌类型和签名算法,例如 HS256 或 RS256。
Payload关于用户和令牌本身的声明。
Signature证明前两段没有被篡改。

注册声明

iss签发者:谁创建了这个令牌
sub主体:通常是用户 ID
aud受众:令牌要给哪个服务使用
exp过期时间,自 1970 年起的秒数
nbf生效时间:在此之前令牌无效
iat签发时间
jtiJWT ID:令牌的唯一标识

常见问题

把真实令牌粘贴到这里安全吗?

令牌在你的浏览器中解码,不会发送到任何地方。但仍应像对待密码一样对待有效令牌,不要粘贴到不信任的工具里。

为什么不验证签名?

验证需要签发方的密钥或公钥。解码只能看到令牌声称的内容;在服务器上,没有验证签名之前绝不要相信这些声明。

JWT 是加密的吗?

标准的签名 JWT 不是。任何拿到令牌的人都能读取 payload,它只是 Base64url 编码 的 JSON,不要在里面放机密信息。

日期用的是哪个时区?

你设备的本地时区。payload 里的原始值是以秒为单位的 Unix 时间戳(UTC)。

更多 Base64 工具