查看并核验 JWT
查看完整 JWT 头部与声明,或使用自行提供的可信密钥验证 HS256 / RS256 签名。
- 1添加输入
- 2调整设置
- 3获取结果
工具输入和文件在当前浏览器处理,不会上传。
开始之前
先选择查看或验签。查看模式无需密钥,完整显示头部和声明,不验证签名或任何声明,不代表身份认证。验签模式使用单独提供的可信共享密钥或 RSA 公钥 JWK,分别核对 HS256 / RS256 签名、时间、签发者与受众。
如何使用
- 粘贴 JWT 或选择本地 JWT 文本文件,选择查看或验签模式。
- 查看模式无需密钥;阅读未验证的预览,再复制或下载完整头部及声明 JSON。
- 验签模式单独填写可信密钥,按可信配置选择 HS256 / RS256,并按需填写预期签发者与受众。逐项阅读通过、失败和跳过项;仅签名匹配不构成授权决定。
支持范围与限制
查看模式接受三个 Base64URL 段的 JWT,包含签名为空的 alg=none 示例;不解密五段 JWE。头部和声明必须是 JSON 对象,重复键会拒绝;数字保留原始 token,不因大整数而舍入。每份解码后的 JSON 文档最多 128 层嵌套、200000 个值节点。 JSON 错误行列针对解码后的文档。
头部和声明预览各显示前 4000 个 UTF-16 字符单元;复制和 JSON 下载保留完整结果。查看报告最多 20 MiB。
RS256 接受 RSA 公钥 JWK,HS256 接受共享密钥;仅检查所填密钥。不抓取 JWKS、不根据 kid 选钥,也不核实密钥来源;检查通过不代表完成身份认证或授权。
缺少 exp 或 nbf 声明时不检查对应时间;预期签发者或受众留空时跳过对应匹配。时间以本机时钟为准。
JWT 文件或粘贴文本最多 1 MiB;验签密钥最多 20000 个 UTF-16 字符单元。文件和输入只留在浏览器中,下载不会改写原文件。
操作示例
示例输入
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJkZW1vIiwiZXhwIjo0MTAyNDQ0ODAwfQ.Fw5ntfSY0QV9JeGuSmUTyCpK20jYCs7b8i7AeFGAYuQ 可信密钥 / RSA 公钥 JWK: public-example-secret
示例参数
{"mode": "verify", "algorithm": "HS256", "issuer": "", "audience": ""}示例输出
{
"algorithm": "HS256",
"signatureValid": true,
"expirationValid": true,
"notBeforeValid": true,
"timeValid": true,
"issuerMatched": true,
"audienceMatched": true,
"accepted": true,
"checksApplied": {
"expiration": true,
"notBefore": false,
"issuer": false,
"audience": false
},
"keyProvenanceChecked": false,
"claims": {
"sub": "demo",
"exp": 4102444800
}
}出现问题时
查看失败时核对三个 Base64URL 段、UTF-8、JSON 对象与重复键;五段 JWE 不在范围内。验签失败时另核对可信算法、准确密钥和预期声明。查看模式不能用来绕过失败的验签。
常见问题
签名验证和查看 JWT 有什么区别?
查看只解码完整头部和声明,不调用签名或声明校验,也不需要密钥;显示的身份、权限和时间都未验证。验签模式使用自行提供的可信密钥并分别列出所选检查,不核实密钥来源,也不决定用户是否有权限。
页面示例应该得到什么结果?
公开演示密钥应验证通过;修改载荷后签名必须失败,或因编码错误拒绝。
哪些情况不适用?
需自行提供可信密钥。工具不抓取 JWKS,也不依据 kid 选钥,不能完成 Google ID 令牌的整体验证或决定用户权限。