UFOZoo

JWT解码器 — 解析、验证与调试 Web 令牌

JWT 解码器,即时解码 JSON Web Token 查看头部、负载和签名。检查声明字段,检测过期、弱算法和 alg:none 安全问题。

功能特性

  • 即时解码 JWT 头部、负载和签名
  • 检查注册声明,时间戳自动转为可读日期
  • 安全警告 — 过期 Token、缺少 exp、alg: none
  • 美化的 JSON 格式显示头部和负载
  • 签名以十六进制字节显示
  • 所有处理在浏览器本地完成——Token 不会离开设备
  • 声明摘要表 — 所有注册声明显示描述和当前有效性状态
  • 每个 Segment 的 Base64URL 解码预览
  • 支持所有 JWT 格式包括 JWE 和嵌套 JWT
  • 头部、负载、签名逐一复制

使用方法

  1. 1将 JWT Token(header.payload.signature)粘贴到输入区域,自动解析。
  2. 2查看解码后的头部和负载 JSON、声明摘要和签名字节。
  3. 3检查安全警告,如过期 Token 或弱算法。
  4. 4查看声明摘要表了解每个注册声明的值和当前有效性状态(有效、过期、未生效)。
  5. 5使用各段旁的复制按钮单独复制头部、负载或签名。
  6. 6在美化 JSON 视图中检查头部和负载的完整结构。
  7. 7检查签名字节格式是否合法——有效签名的字节长度取决于算法类型。
  8. 8用开发环境中的示例 Token 测试你的 JWT 实现。

常见问题

什么是 JWT?

JSON Web Token (JWT) 是一种紧凑、URL 安全的令牌格式,用于在双方之间传递声明。它由三个 Base64URL 编码的部分组成,用点号分隔:头部(算法和令牌类型)、负载(声明/数据)和签名(加密验证)。JWT 常用于 API 认证(OAuth 2.0、OpenID Connect)。

把我的 JWT 粘贴到工具中安全吗?

安全。所有解析完全在浏览器中通过 JavaScript 完成。您的 Token 不会发送到任何服务器,不会被记录,也不会被存储。您可以在浏览器的网络面板中验证——没有任何数据传输。

解码 JWT 意味着它是真实的吗?

不是。解码 JWT 仅读取其内容——头部和负载是 Base64URL 编码的,而不是加密的。任何人都可以解码 JWT。要验证真实性,必须使用颁发者的密钥或公钥检查签名。本工具有助于检查内容,但签名验证应在服务端完成。

exp、iat 和 nbf 是什么意思?

exp(过期时间):Token 在此时间戳后过期。iat(签发时间):Token 的签发时间。nbf(生效时间):Token 在此时间戳之前无效。本工具将这些 Unix 时间戳转换为可读日期,并在 Token 过期或尚未生效时发出警告。

alg: none 是什么意思?

alg: "none" 表示 JWT 没有签名——第三部分为空。这是安全风险,因为任何人都可以伪造带有任意声明的 Token。在生产环境中应始终拒绝 alg: none 的 Token。

如何验证 JWT 签名?

本工具仅解码和显示 JWT 内容,不验证签名。要验证 JWT 需要:(1)Token 头部(alg、kid),(2)负载声明,(3)Token 签名,(4)颁发者的公钥(RS/ES 算法)或密钥(HS 算法)。使用后端库如 jsonwebtoken(Node.js)、PyJWT(Python)或框架内置的 JWT 中间件。不验证签名就信任解码后的 JWT 是危险的。

没有密钥如何解码 JWT?

JWT 头部和负载是 Base64URL 编码而非加密的。无需密钥即可解码——粘贴 Token 即可查看解码后的 JSON。但解码不等于验证真实性。只有签名验证(需要密钥或公钥)才能确认 Token 来自可信源。

JWT、JWS 和 JWE 有什么区别?

JWT 是总标准。JWS(JSON Web Signature)是带签名的 JWT——最常见类型,第三段是签名。JWE(JSON Web Encryption)是加密的 JWT,负载被加密。本工具主要解析 JWS 但可解码 JWE 头部。OAuth 2.0 和 OpenID Connect 中的 Token 通常是 JWS。

头部中的 kid 字段是什么?

kid(Key ID)是可选头部参数,提示 Token 使用哪个密钥签名。颁发者轮换密钥或有多个签名密钥时使用。验证库通过 kid 从 JWKS 端点查找正确的公钥。没有匹配的 kid 会导致验证失败。

可以用此工具调试 OAuth 2.0 / OpenID Connect Token 吗?

可以。本工具非常适合检查 Google、Auth0、Keycloak、Azure AD 等 OAuth 2.0 / OpenID Connect 提供者的 ID Token 和访问令牌。解码后可验证 iss(颁发者)、aud(受众)、sub(主体)、email 和过期时间。

iat 和 nbf 对 Token 有效期意味着什么?

iat(签发时间):Token 的创建时间,仅供参考。nbf(生效时间):此时间之前不应接受该 Token。与 exp(过期时间)一起定义 Token 的有效时间窗口。正确配置的服务器检查:当前时间 >= nbf 且当前时间 < exp。本工具显示可读日期并在 Token 超出有效期时发出警告。

相关工具