jqiy

JWT 解码器

解码 JSON Web Token — 查看头部、载荷和签名。你的 Token 不会离开浏览器。

About JWT 解码器

JWT 解码器是一个隐私优先的工具,用于检查 JSON Web 令牌,解码其头部和负载部分,并验证令牌的关键结构属性。JWT 在现代 Web 应用程序和 API 中广泛用于身份验证、授权和信息交换。理解 JWT 的内容对于调试身份验证流程、验证声明以及在开发和安全审查期间审计令牌负载至关重要。

使用解码器很简单:将 JWT 字符串粘贴到输入字段中,工具会立即解码并显示头部和负载。令牌在客户端解析,意味着您的 JWT 及其内容永远不会离开浏览器。解码后的 JSON 中的每个字段都带有语法高亮和类型信息。该工具还根据 `exp` 声明显示令牌的过期状态,高亮显示令牌是否当前有效、已过期或没有过期时间。

JWT 由三个以点号分隔的部分组成:头部(包含算法和令牌类型)、负载(包含声明)和签名。解码器显示所有三个部分。头部显示使用的签名算法(例如 HS256、RS256),这对安全验证至关重要。负载显示注册声明(`iss`、`sub`、`aud`、`exp`、`nbf`、`iat`、`jti`)、公共声明和私有声明的解码 JSON。

安全是处理 JWT 时的首要考虑。由于令牌通常包含用户身份、角色和权限等敏感声明,该工具使用 WebAssembly 在浏览器中处理所有内容。没有数据会传输到任何服务器,也不会保留任何日志。解码器明确警告常见的安全风险:使用 'none' 算法的令牌(这会绕过签名验证)、算法与头部指定不同的令牌,以及签名异常弱的令牌。

除了基本解码,该工具还包含 JWT 编辑模式,让您可以修改头部和负载声明并重新编码令牌。这对于测试您的应用程序如何处理不同的声明值、格式错误的令牌或边界情况(如缺少必需声明、已过期令牌或具有不寻常受众值的令牌)非常有用。重新编码的令牌使用原始算法,但生成新的签名占位符,因为私钥永不可用。

对于实现基于 JWT 的身份验证的开发者,该工具包含一个参考部分,记录了所有注册声明名称、常用算法标识符以及 JWT 验证的最佳实践。这取代了不断查阅 RFC 7519 规范或检查库文档来了解声明语义的需要。参考部分还涵盖了常见陷阱,如签名验证中的时序攻击、正确的受众验证以及对称与非对称签名算法之间的区别。

Frequently Asked Questions

我的 JWT 会被发送到服务器吗?

不会。所有解码完全在您的浏览器中通过客户端 JavaScript 完成。令牌及其解码后的内容永远不会离开您的机器。您可以通过断开网络连接来验证这一点。

你们能验证 JWT 的签名吗?

该工具解码头部和负载,但没有您的私钥就无法验证签名。如果令牌使用 'none' 算法,它会发出警告,这是一种安全风险。

JWS 和 JWE 有什么区别?

此工具解码 JWS(JSON Web Signature)令牌,它们是经过签名但未加密的。JWE(JSON Web Encryption)令牌是加密的,需要私钥才能解密。实践中大多数 JWT 是 JWS 令牌。

该工具支持带有自定义声明名称的 JWT 吗?

是的。自定义声明与注册声明一起显示在负载部分。工具不会验证自定义声明的内容,但会格式化它们以便检查。