YourTools.
English
返回目录
工具

JWT 校验

用密钥、公钥、证书或 JWK 校验 JWT 签名,并可检查过期与生效时间;拒绝未签名的令牌,以及以公钥充当 HMAC 密钥的令牌。

本地处理

文件只在当前浏览器处理;关闭或清空后不保留。

输入文本

输入或粘贴要处理的文本

调整设置

可调整预期算法、HMAC 密钥格式、检查过期与生效时间 等

JWT 校验

开始处理

在本机浏览器中处理,可随时取消

请先输入文本

工具介绍

校验 JWT(JSON Web Token)是否由预期的密钥签名、是否已经过期。接口拒绝令牌时,可以用它判断问题出在签名、密钥还是有效期;在信任身份服务商签发的令牌之前,也可以先用它确认令牌真实可信。

支持用共享密钥、PEM 公钥或证书、JWK 校验 HS、RS、PS、ES、EdDSA 系列令牌。未签名的令牌(alg 为 none)以及用公钥充当 HMAC 密钥的令牌一律拒绝。校验在浏览器中完成,令牌和密钥不上传,密钥也不随工作流保存。

使用步骤

  1. 把令牌粘贴到“JWT”框,带不带“Bearer”前缀都可以;在“密钥(不随工作流保存)”中填入密钥或公钥。点击“使用示例”会载入 jwt.io 的示例令牌及其密钥。
  2. “预期算法”可以保持“按令牌头部”,也可以选择服务器要求的算法;校验 HS 令牌时,再设置“HMAC 密钥格式”。
  3. 保持勾选“检查过期与生效时间”;双方时钟有偏差时,可以设置几秒的“时钟容差”。
  4. 点击“运行”。校验通过时得到 verified.json,其中包含头部、载荷和可读的时间;不通过时会提示失败原因。

格式与限制

输入
文本
输出
JSON
大小上限
1 MB
可调设置
预期算法;HMAC 密钥格式(文本、十六进制、Base64);检查过期与生效时间;时钟容差
隐私
文本与密钥只在当前浏览器会话中处理,不上传;密钥作为输入提供,不会随工作流或配方保存。
费用
免费,无需注册

常见问题

为什么要指定预期算法?

选“按令牌头部”时,工具采用令牌自己声明的 alg。指定服务器实际使用的算法后,alg 不同的令牌都会校验失败,与严格的服务端行为一致。

可以使用哪些密钥?

HS 令牌需要共享密钥(文本、十六进制或 Base64),或 oct 类型的 JWK。其他算法可以用 PEM 公钥、证书、单个 JWK,或者 RSA 私钥(使用其中的公钥部分)。手上是 JWKS 时,请从 keys 列表中取出与令牌 kid 对应的那一个密钥对象。

为什么提示签名有效但令牌已过期?

签名是对的,但按你设备的当前时间,exp 已经过去,或者 nbf 还没到。可以设置“时钟容差”,或者取消勾选“检查过期与生效时间”,只校验签名。

会检查签发者或受众吗?

不会。这里只检查签名以及 exp、nbf;iss、aud 等声明会显示在载荷中,需要你自己对照。

提示签名与密钥不匹配怎么办?

说明这把密钥不是签发时用的,或者令牌被改动过。校验 HS 令牌时还要检查“HMAC 密钥格式”:本该按 Base64 解码的密钥如果按文本读取,得到的是另一把密钥。