JWT 解码器

粘贴 JSON Web Token,即可以格式化 JSON 查看其头部和载荷。exp、iat 和 nbf 等时间戳会转换为易读日期,过期令牌会被标出。

JWT 的结构

JWT 由点号分隔的三部分组成:header.payload.signature。头部和载荷是使用无填充 Base64URL 编码的 JSON 对象。签名使用头部中指定的算法(alg,例如 HS256 或 RS256)对前两部分计算得出。

注册声明

声明含义
iss签发者
sub主题(通常为用户 ID)
aud受众
exp过期时间(自 1970 年起的秒数)
nbf此前无效
iat签发时间
jti令牌唯一 ID

用 JavaScript 解码 JWT

const [h, p] = token.split('.');
const json = (s) => JSON.parse(new TextDecoder().decode(
  Uint8Array.from(atob(s.replace(/-/g, '+').replace(/_/g, '/')), (c) => c.charCodeAt(0))));
console.log(json(h), json(p));

常见问题

在这里粘贴我的 JWT 安全吗?

解码完全在您的浏览器中进行,不会向服务器发送任何数据。尽管如此,生产环境的令牌仍应视为机密。

解码时会验证签名吗?

不会。JWT 只是 Base64URL,任何人都能解码。验证签名需要密钥或公钥,必须由您的服务器完成。

相关工具和指南

评论 (0)

对“JWT 解码器”有疑问、想法或发现了 bug?欢迎留言评论、为工具评分或回复他人。

暂无评论,快来分享您的反馈吧!

发表评论

为此工具评分:
Esc
↑ ↓ 移动↵ 打开Esc 关闭