只解码不验 claim 约束
失败输入:只看 payload,可读即认为可信。
失败表现:aud 不匹配 token 被误判为可用。
修复:在验签路径强制执行 aud/iss/alg 校验。
校验 JWT 签名并解析关键声明
Quick CTA
先粘贴 JWT 和 secret,直接看签名是否通过;失败对照和诊断提示留在 Deep。
下一步(Workflow)
Deep 展开踩坑、配方、片段、FAQ 与相关工具,适合排查问题或继续深入。
输入 JWT 和密钥后可即时校验签名是否有效,并查看 exp、iat 等关键声明的可读时间。适合认证流程联调、排查 401/403 问题、验证 token 生命周期。工具在浏览器本地完成计算,不上传 token 与密钥。
失败输入:只看 payload,可读即认为可信。
失败表现:aud 不匹配 token 被误判为可用。
修复:在验签路径强制执行 aud/iss/alg 校验。
失败输入:校验端长期缓存旧 JWKS,不刷新新 `kid`。
失败表现:同一批新令牌在部分服务失败,行为不一致。
修复:命中失败时主动刷新密钥集,并监控轮换延迟。
失败输入:验证器完全信任 token 头部 `alg`。
失败表现:本地通过但信任边界被削弱。
修复:固定允许算法集合,拒绝头部驱动的宽松回退。
失败输入:分布式系统中使用 0 容忍度时间校验。
失败表现:边界时刻 token 出现间歇性误拒绝。
修复:设置可审计的有限时钟偏移容忍。
建议选:使用完整验签与 claim 约束校验。
谨慎用:避免 decode-only 参与授权决策。
建议选:签名、issuer、audience、时间声明一起校验并统一时钟。
谨慎用:避免只解码不验签,或仅看 claims 就放行。
建议选:签名验真 + issuer/audience 校验 + 算法白名单。
谨慎用:不要把“仅解码”逻辑放入授权决策链路。
建议选:先看 claim,再用真实密钥做验签确认。
谨慎用:不要把解码结果直接当可信事实。
text
token=<jwt>
secret=<shared-secret>
algorithm=HS256可读 payload
适合仅查看 claims 或调试 token 结构。
通过验证
适合确认 token 真正被鉴权策略接受。
补充:能看懂 token,不等于能信任 token。
静态密钥
适合单发行方内部工具。
JWKS
适合生产换钥场景。
补充:支持换钥的验签策略可降低切钥故障率。
仅解码
适合快速排查 claim 结构问题。
签名验真
适合任何鉴权信任决策。
补充:payload 可读不代表 token 可信。
静态密钥
适合隔离内部测试发行方。
轮换密钥集
适合生产密钥轮换场景。
补充:支持轮换的校验策略可显著降低换钥失败风险。
Q01
因为签名、issuer、audience、算法和时间策略都可能失败,解码成功并不代表验证成功。
Q02
因为它表示 token 没有签名,正常的生产鉴权链路不应该接受这种令牌。
原因:环境切换或密钥轮换后,团队常拿错 secret,误以为是代码 bug。
修复:先确认当前环境实际使用的密钥和算法,再解读验证结果。
原因:结构看起来合法,不代表它符合 issuer、audience 或算法约束。
修复:把 verifier 当成“签名 + 信任策略”双重检查,不只是 decode 的延伸。
目标:确认问题到底来自密钥、算法、策略约束,还是 token 自身结构。
结果:你能更快判断这是密码学问题、策略问题,还是单纯的 token 格式问题。
目标:验证发行方换钥窗口内 token 仍可稳定校验。
结果:换钥上线更平滑,鉴权故障更少。
目标:在上线前发现 issuer、audience 与密钥轮换不一致问题。
结果:显著降低认证链路上线即故障的风险。
目标:在 key rollover 前确认旧新密钥都可被正确识别与校验。
结果:换钥窗口更平稳,认证故障风险降低。
JWT 验签是信任边界。解码可用于调试,但授权必须依赖签名与 claim 校验。
一次性校验签名、过期时间、发行方、受众和算法策略。
对异常 alg 和关键 claim 缺失直接拒绝,降低降级攻击风险。
密钥按计划轮换,并保留过渡窗口,避免发布瞬间故障。
公钥缓存要配合 key ID 使用,否则会出现间歇性验签失败。
JWT 验签 更适合放在真实输入与发布决策链路中使用,优先关注「生产 API 鉴权链路」这类高风险场景。
建议先用小样本在JWT 验签中验证结果,再处理完整数据;关键场景请结合线上环境做二次校验。
建议先用小样本在JWT 验签中验证结果,再处理完整数据;关键场景请结合线上环境做二次校验。 如用于线上流程,建议保留一组失败样例便于回归。
处理过程在浏览器本地完成,输入内容不会上传到服务器。
处理过程在浏览器本地完成,输入内容不会上传到服务器。
不是。 Inputs stay 在你的浏览器中 and are not transmitted to 服务器s by 该工具.
请按场景选择现代算法:密码存储用 bcrypt/argon2,完整性校验优先 SHA-256 及以上,HMAC/JWT 校验请配合高强度密钥。