关于 JWT 解析器
JWT 解析器把 JSON Web Token 的头部、载荷与签名三段拆开并 Base64 解码,让你在不依赖后端的情况下查看令牌里的声明、过期时间与权限范围。粘贴 token 即时看到可读内容,并提示 exp 是否已过期,方便调试登录态与接口鉴权。解析完全在浏览器本地完成,token 不会上传到服务器,比贴到第三方网站更安全。对排查 401、理解 OAuth 或校验会话有效期的前端与安全同学都很实用,也适合教学演示令牌结构,提醒团队不要把敏感信息塞进可被解码的载荷里。并据此检查 access token 的过期策略是否合理,避免会话过短影响体验或过长带来风险;解析在本地完成 token 不上传比贴第三方网站更安全,对排查 401、理解 OAuth 或校验会话有效期的前端安全同学都很实用,也适合教学演示令牌结构与载荷声明的最佳实践。
使用方法
- 打开 JWT 解析工具
- 将完整的 JWT 字符串粘贴到输入框
- 自动解码 Header 和 Payload,以 JSON 格式展示
- 查看过期时间、签发时间等关键信息
- 输入密钥验证签名(仅支持 HS256/384/512)
使用场景
- 调试登录态问题 — 用户反馈"登录失效"时,从浏览器拷贝 token 解析过期时间和声明字段。
- 检查 OAuth/OIDC 流程 — 查看 access_token 和 id_token 的 claims(sub、aud、iss 等)。
- 校验 token 结构 — 判断后端发的 token 是否包含预期的自定义字段(如 user_id、role)。
- 理解第三方 SSO — 研究 Auth0、Firebase、Okta 等 IdP 颁发的 token 内容。
- 排查 401 错误 — 快速看出 token 是否已过期(exp 字段)或还未生效(nbf 字段)。
常见问题
JWT 是加密的吗?
不是。JWT 默认只是 Base64URL 编码(不是加密),任何人拿到 token 都能解码看到 payload。需要保密的内容请用 JWE 或不要放入 JWT。
本工具会校验签名吗?
不会。校验签名需要服务端的密钥或公钥,本工具仅做解码展示。生产环境请在后端用 jose、jsonwebtoken 等库验证。
JWT 怎么手动失效?
无法在不维护服务端黑名单的情况下提前失效。这是 JWT 的固有缺陷——所以 access_token 通常只设几分钟有效期,配合 refresh_token 使用。
JWT 比 session cookie 更安全吗?
不一定。JWT 适合无状态分布式场景,但 session cookie 配合 HttpOnly+Secure 也很安全。选哪种取决于架构,不是安全等级问题。
为什么我的 JWT 太长了?
payload 越多 token 越大。建议只放必要字段(sub、exp、aud、role)。每个 HTTP 请求都要带 token,过大会浪费带宽。
我的 access token 为什么过期这么快?
短生命周期(几分钟到一小时)是业界推荐设计,不是配置错误:它把 token 泄露后的有效窗口压到最小,再靠 refresh token 在临期前静默刷新维持长会话。若觉得太快,先检查签发端 exp 设置;前端应监听 401 或在 exp 之前提前刷新,而不是逼用户频繁重新登录。同时确认后端时钟(NTP)与签发时间一致——时间漂移会让 token 被立即判为过期。
payload 里到底该放什么、不该放什么?
只放必要且尽量小的声明:sub、exp、iat、aud、iss、role 等。不要放密码、手机号、身份证号等敏感数据——JWT 默认只是 Base64URL 编码,任何人拿到都能原样读出。能被用户侧改动的字段(如价格、权限)更不该放,必须以后端为准并在服务端二次校验。若确需保密,改用 JWE 加密,或用服务端 session 存放敏感字段而不是塞进 token。