JWT 解码器

即时解码 JWT(JSON Web Token)的头部和载荷,并把过期时间和签发时间显示为易读的日期。令牌不会离开你的浏览器。

头部(Header)
载荷(Payload)

签名未经验证。解码只能显示令牌中包含的内容;要验证令牌是否真实,需要使用密钥或公钥,而它们应当只存放在你的服务器上。

如何解码 JWT

  1. 把令牌粘贴到文本框中。从 Authorization 请求头复制时开头带上的 Bearer 会被自动去掉。
  2. 头部和载荷会被解码,并以格式化的 JSON 显示。
  3. exp(过期时间)和 iat(签发时间)等时间会转换为易读的日期,你可以一眼看出令牌是否已经过期。

什么是 JSON Web Token?

JWT 是一种紧凑的令牌,用于登录和 API 访问。它由三个用点分隔的部分组成:标明签名算法的头部(header)、包含用户或会话相关声明的载荷(payload),以及签名(signature)。头部和载荷只是经过 Base64url 编码,并没有加密,因此任何持有令牌的人都能读取它们。

标准声明

  • iss:令牌的签发人
  • sub:令牌所涉及的主体,通常是用户 ID
  • aud:令牌的预期接收方
  • exp、nbf、iat:过期时间、生效时间(在此之前无效)和签发时间,均为 Unix 时间戳(参见 Unix 时间戳转换)

常见问题

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

令牌在你的浏览器中解码,绝不会发送到任何地方。不过,有效的令牌在过期之前就相当于密码,因此请避免把真实的生产环境令牌分享给任何人。

可以把机密信息放进 JWT 吗?

不可以。任何持有令牌的人都能读取载荷。载荷中只应放标识符和权限,绝不要放密码或你不希望泄露的个人数据。