JWT 解码与调试工具

解码 JWT 令牌以查看其 header 和 payload,并自动检查它是否已过期(exp)或尚未生效(nbf)。解码完全在您的浏览器中进行,适合调试会话,令牌绝不会发送到任何服务器。

示例:

⚠ 注意:并未验证签名。 本工具只解码令牌内容,并且仅检查 payload 中声明的 exp/nbf 日期。它绝不能证明令牌是真实的,也不能证明令牌未被篡改:签名的加密验证必须始终在服务器端使用签发方的密钥或公钥完成。

工作原理

JWT 由三部分组成,以点号分隔:header.payload.signature。Header 和 payload 采用 Base64URL 编码(并未加密),因此任何人无需密钥即可读取。除了基本的解码之外,本工具还会读取标准声明 exp(过期时间)和 nbf(「not before」,生效时间),并与您设备的当前时间比较,仅就这一时间条件立即告诉您:遵循 JWT 标准的服务器会接受还是拒绝该令牌。

exp 和 nbf 到底是什么意思?

exp(过期时间)是一个 Unix 时间戳,超过该时间后令牌应被视为已过期。nbf(「not before」)也是一个 Unix 时间戳,在此之前令牌尚不应被接受,适用于预定在稍后生效的令牌。两者都是可选的:如果不存在,则表示令牌本身没有此类时间限制。

这里显示令牌有效,为什么我的 API 仍然拒绝它?

因为本工具只检查结构和声明的日期,从不验证签名。API 还可能因其他原因拒绝令牌:签名无效、签发者(iss)或受众(aud)不正确、令牌已在服务器端被吊销,或缺少业务所需的声明。这些检查都需要签发方的密钥或公钥才能完成,而这始终只能在服务器端进行。

隐私说明:解码和日期检查完全通过 WebAssembly 在您的浏览器中完成,令牌内容即使包含敏感信息,也不会离开您的设备。