TOKEN LAB

JWT 解析与生成

本地解析、验证和生成 JSON Web Tokens。

JWT 解析与生成帮助、示例与常见问题

JWT 调试器用于查看紧凑 Token 的 Header 和 Claims,对照后端检查 exp、nbf、iss、aud,或为本地测试生成临时 HS256 Token。能够解析不代表验证通过:可读 Payload 仍可能存在签名错误、不安全算法或声明不符合策略。

使用方法

粘贴三段式 Token 并解析 Header 与 Payload。需要开发测试 Token 时,编辑两段 JSON、输入非生产 HMAC 密钥并生成 HS256 签名;Token 是否可信仍需在接收系统中单独验证。

使用示例

输入
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjMifQ.signature
输出
Header: {"alg":"HS256","typ":"JWT"}
Payload: {"sub":"123"}

适用场景

  • 接口返回 401 时,解析 Token 检查 exp 是否过期、aud 和 iss 是否与服务端期望一致。
  • 本地联调权限逻辑时,复制 Payload,添加 role 或 scope 字段后重新签名生成测试 Token。
  • 排查网关问题时,对比 Header 中的 alg 与后端验证配置是否一致。

支持范围与限制

  • 解析由三段组成、Header 与 Payload 使用 Base64URL JSON 编码的紧凑 JWT。
  • 使用浏览器 Web Crypto API 生成 HMAC SHA-256(HS256)签名;不会验证粘贴 Token 的签名。
  • 需要支持 Web Crypto 的现代安全上下文浏览器;应用未设置固定输入上限。

隐私与数据处理

Token、声明和 HMAC 密钥都留在浏览器本地。不要在共享设备、录屏或公开示例中使用生产密钥。

常见问题

  • 解析成功是否代表 Token 有效?不一定。解析只说明格式可读,是否可信还要验证签名、过期时间和业务约束。
  • 可以放生产密钥吗?不建议在共享设备、录屏或会议场景输入真实密钥。
  • 为什么签名后服务端不认?常见原因是密钥不同、算法不同、Payload 时间字段单位错误或服务端还要求额外声明。

进阶建议

Token 问题最好拆成三层判断:格式是否能解析、签名是否能验证、声明是否满足业务规则。很多授权失败并不是签名错,而是 aud、iss、scope、tenant、exp 等字段和服务端策略不匹配。联调时可以把解析结果和后端日志放在同一时区下对照,并避免把真实密钥写进示例文档。

排查方法

排查 JWT 鉴权失败时,先把问题分成解析、签名、声明三步。解析失败看三段结构和 Base64URL 字符;签名失败核对 alg、密钥、kid 和服务端实际使用的验证配置;声明失败重点看 exp、nbf、iss、aud、scope、tenant 等字段,并把后端日志时间统一到同一时区后再判断。

内容维护:GoTools Engineering本次更新:补充示例、支持限制、隐私说明与参考资料。
JWT 调试与生成工具 - 本地解析与签名 | GoTools