咖啡时间工具箱

JWT 解码

粘贴 JWT 令牌,点“解码”查看头部和载荷。本工具只做解码,不验证签名;令牌只在你的浏览器里处理,不会上传。

使用限制

只解码,不验证签名:能解开不代表令牌可信,任何人都能伪造内容。判断令牌是否有效必须由服务端用密钥验证。

使用方法

  1. 把令牌粘贴到输入框。前面带 Bearer 、两边带引号、中间有换行都没关系,会自动去掉。
  2. 点“解码”,下面会分别显示头部、载荷、签名,以及 exp(过期)、iat(签发)、nbf(生效)换算成的日期和是否过期。
  3. 没有令牌想先看看效果?点“填入测试令牌”,这是用测试密钥生成的示例,不是任何真实账号的令牌。

常见问题

JWT 是什么结构?

三段用点号连接:头部(算法、类型)、载荷(用户信息和时间等声明)、签名。前两段只是 base64url 编码后的 JSON,所以谁都能读出来,不要在里面放密码这类机密。

为什么直接用 atob 解码会出现乱码?

JWT 用的是 base64url(- _,无 =),并且内容是 UTF-8。直接 atob 会把中文拆成乱码。本工具先还原成字节,再按 UTF-8 读取,所以“测试用户”这样的中文能正常显示。

alg 是 none 有什么风险?

表示令牌声称自己没有签名。如果服务端接受这样的令牌,任何人都可以随便编一个冒充别人,所以服务端必须拒绝。本工具遇到时会提示。

令牌会被上传吗?

不会。解码在本页完成,不会向任何服务器发送令牌。但令牌等同于登录凭证,不要把真实的、仍有效的令牌发给别人或贴到不信任的地方。