• 用******户 使用了工具 Base64编解码
  • 开******发 使用了工具 MD5加密
  • 工******程 使用了工具 时间戳转换
  • 程******序 使用了工具 JSON格式化
  • 设******计 使用了工具 图片压缩
  • 产******品 使用了工具 URL编解码
  • 测******试 使用了工具 正则表达式
  • 运******维 使用了工具 密码生成器

JWT 解码

编程开发
在线解析 JWT Token,查看 Header 和 Payload 内容,支持过期时间检测。提供多种 JWT 样例,详细解释 JWT 结构和常见字段。适用于身份验证调试、API 认证排查、OAuth 令牌分析等场景
JWTToken解码解析HeaderPayloadOAuth认证
快捷样例点击加载 JWT Token 示例
基础用户简单登录令牌
管理员含角色权限
OAuth 2.0授权访问令牌
已过期过期令牌示例
多权限复杂权限结构
JWT Token

工具介绍

JWT(JSON Web Token)是一种开放标准(RFC 7519),用于在各方之间安全地传输信息。JWT 由三部分组成:

  • Header:声明算法和类型,如 {"alg": "HS256", "typ": "JWT"}
  • Payload:包含声明(Claims),如用户信息和权限
  • Signature:签名用于验证消息在传输过程中未被篡改

本工具可在线解码 JWT Token,查看其 Header 和 Payload 内容,并检测过期时间。

标准声明字段

字段名称说明
issIssuer签发者,标识 JWT 的签发方
subSubject主题,标识 JWT 所面向的用户或实体
audAudience受众,标识 JWT 的预期接收方
expExpiration Time过期时间,JWT 必须在此时间后被拒绝
nbfNot Before生效时间,JWT 必须在此时间后才能被接受
iatIssued At签发时间,标识 JWT 的创建时间
jtiJWT ID唯一标识符,用于防止 JWT 重放攻击

常见自定义字段

字段说明
name用户名称
email电子邮箱
userId用户 ID
role用户角色
roles角色列表
permissions权限列表
scope授权范围(OAuth)
deptId部门 ID

使用场景

应用场景说明
身份验证用户登录后返回 JWT,后续请求携带该令牌进行认证
单点登录 (SSO)跨域/跨系统的身份验证,一次登录多处使用
API 认证保护 RESTful API 接口,验证请求来源的合法性
信息交换在各方之间安全地传输经过签名的信息
OAuth 2.0作为 OAuth 2.0 的访问令牌(Access Token)
调试排错查看和验证 JWT 内容是否正确,排查认证问题

常见问题

JWT 和 Session 有什么区别?

JWT 是无状态的,服务端不存储会话信息,适合分布式系统;Session 需要在服务端存储,适合单体应用。JWT 可以自包含用户信息,减少数据库查询。

JWT 安全吗?

JWT 本身经过签名防篡改,但 Payload 是 Base64 编码而非加密,任何人都可解码。因此不要在 Payload 中存储敏感信息(如密码),并始终通过 HTTPS 传输。

如何验证 JWT 签名?

使用与签发时相同的密钥和算法重新计算签名,与 Token 中的签名对比。HMAC 使用对称密钥,RSA/ECDSA 使用公钥验证。本工具仅解码不验证签名。

JWT 过期了怎么办?

客户端应检测 exp 字段,过期前主动刷新。通常配合 Refresh Token 机制:Access Token 短期有效(如 15 分钟),Refresh Token 长期有效用于获取新的 Access Token。

JWT 可以注销吗?

JWT 本身无法主动注销(无状态特性)。解决方案:1) 使用黑名单存储已注销的 jti;2) 设置较短的过期时间;3) 使用 Refresh Token 轮换机制。

alg 字段有哪些值?

常见算法:HS256/HS384/HS512(HMAC 对称加密)、RS256/RS384/RS512(RSA 非对称加密)、ES256/ES384(ECDSA 椭圆曲线)。推荐生产环境使用 RS256。

安全提示

  • 本工具仅用于解码 JWT,不验证签名
  • JWT 的 Payload 是 Base64 编码,不是加密,任何人都可以解码
  • 不要在 JWT 的 Payload 中存储敏感信息(如密码)
  • 生产环境中应验证 JWT 的签名和过期时间
  • 建议使用 HTTPS 传输 JWT 以防止中间人攻击