JWT解码器

解码JWT(JSON Web Token)的头部和载荷,并检查过期状态。

JWT 令牌
什么是 JWT?

JSON Web Token (JWT) 是一种开放标准 (RFC 7519),用于在各方之间以 JSON 对象的形式安全地传输信息。JWT 可以使用密钥 (HMAC) 或公钥/私钥对 (RSA/ECDSA) 进行签名。它们通常用于 Web 应用程序中的身份验证和信息交换。

结构

JWT 由三部分组成,由点分隔:标头(算法和令牌类型)、有效负载(声明/数据)和签名(验证)。每一部分都经过 Base64Url 编码。签名确保令牌未被篡改,但标头和有效负载可以被任何人解码。

常见使用场景
  • 用户身份验证和授权
  • 单点登录 (SSO) 系统
  • API 身份验证
  • 服务之间的安全信息交换
  • 无状态会话管理
标准声明
iss 签发者 - 谁创建并签署了令牌
sub 主题 - 令牌涉及的对象(通常是用户 ID)
aud 受众 - 令牌的预期接收者
exp 过期时间 - 令牌过期的 Unix 时间戳
iat 签发时间 - 令牌创建时的 Unix 时间戳
常见问题

JWT 是加密的吗?

标准 JWT (JWS) 是经过签名的,但未经加密 —— 任何人都可以读取有效负载。对于加密令牌,请使用 JWE (JSON Web Encryption)。切勿在普通 JWT 中存储敏感数据。

如何使 JWT 失效?

JWT 在设计上是无状态的,无法直接使其失效。常见的策略包括短过期时间、令牌黑名单或更改签名密钥(使所有令牌失效)。