JWT(JSON Web Token)是现代 API 中主流的身份验证令牌格式——OAuth、OIDC、会话令牌以及自定义 API 身份验证都在使用它。但一个 JWT 看起来就像是一堆乱码:三个用点号连接的 Base64URL 编码字符串。JWT Debugger 会将该字符串解析为三个部分——header、payload 和 signature,对每一部分进行解码,并以语法高亮的形式展示 JSON 内容。
payload 会被解析出已知的声明字段:iss(签发者)、sub(主题)、exp(过期时间)、iat(签发时间)、nbf(生效时间)、aud(受众)、jti(令牌 ID)。过期时间会从 Unix 时间戳转换为易读的形式,并标记为有效、已过期或尚未生效。该工具不会验证签名——这需要密钥,超出了客户端工具的处理范围——但它会准确展示令牌中包含的内容,方便您快速排查身份验证问题。
header 中的算法字段(alg)会被明确标注,如果令牌使用的是“none”算法,还会显示警告——这是一个众所周知的 JWT 漏洞,如果服务器没有拒绝未签名的令牌,签名验证就可能被完全绕过。基于 HMAC 的算法(HS256、HS384、HS512)和基于 RSA/ECDSA 的算法(RS256、ES256)都会被识别并标注,让您立即知道某个 API 使用的是共享密钥签名方案还是公钥签名方案。自定义的非标准声明字段也会完整显示,因为绝大多数实际使用中的令牌都携带着诸如角色或租户 ID 之类的应用专属数据。
在点处拆分 JWT 并对每个段进行 Base64URL 解码:标头、有效负载和签名。每个段均单独显示并带有语法突出显示。
显示算法(HS256、RS256、ES256)和令牌类型。快速验证服务正在使用的签名方案。
解析 JSON 有效负载并以彩色编码的键、字符串、数字和布尔值呈现。一目了然地查看所有声明。
检查 exp(过期)、iat(颁发时间)和 nbf(生效前)时间戳。标记令牌是否有效、过期或尚未激活——带有人类可读的时间。
识别已注册声明(iss、sub、aud、exp、iat、nbf、jti)并为其含义提供快速参考注释。
原始令牌显示,每个段使用不同的颜色,以便您可以直观地区分标头、有效负载和签名。
当 API 返回 401 未授权时,粘贴令牌以检查它是否已过期、格式错误或由错误的发行者颁发。
解码从 OAuth/OIDC 流返回的访问令牌和 ID 令牌,以查看授予的范围、用户身份和过期时间。
确认必需的声明(角色、权限、租户 ID)在令牌中存在,然后再假设后端将接受它。
当后端服务生成令牌时,解码它以验证有效负载与服务打算颁发的内容相匹配。
在安全审查期间,解码存储在 localStorage 或 Cookie 中的令牌,以评估客户端公开了哪些敏感数据。
单击 DevSuite Pro 停靠栏中的 JWT 图标。打开一个面板,其中包含令牌输入字段和三个已解码的窗格。
粘贴任何 JWT——来自 API 响应、Authorization 标头、Cookie 或 localStorage。包括或省略"Bearer "前缀;两者都有效。
标头窗格显示算法和类型。确认它正在使用后端期望的方案(通常是 HS256 或 RS256)。
有效负载窗格显示所有声明并带有语法突出显示。标准声明(iss、sub、exp)标有其用途。
状态徽章显示有效、已过期或尚未生效。如果已过期,令牌可能是身份验证失败的原因。