JWT解码器

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

JWT 令牌
标头
{
  "alg": "HS256",
  "typ": "JWT"
}
负载
{
  "iss": "https://issuer.example.com",
  "aud": "api://comutil",
  "sub": "user-123",
  "iat": 2000000000,
  "nbf": 2000000240,
  "exp": 2000003600
}
警告
未检测到警告
声明摘要
Issuer https://issuer.example.com
受众 api://comutil
主题 user-123
签发时间 (iat) 2033-05-18 03:33:20 UTC
生效时间 (nbf) 2033-05-18 03:37:20 UTC
过期时间 (exp) 2033-05-18 04:33:20 UTC
令牌信息
算法 HS256
类型 JWT
主题 user-123
签发时间 (iat) 2033-05-18 03:33:20 UTC
过期时间 (exp) 2033-05-18 04:33:20 UTC 有效
签名 signature
令牌分段
标头 长度: 36
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
负载 长度: 168
eyJpc3MiOiJodHRwczovL2lzc3Vlci5leGFtcGxlLmNvbSIsImF1ZCI6ImFwaTovL2NvbXV0aWwiLCJzdWIiOiJ1c2VyLTEyMyIsImlhdCI6MjAwMDAwMDAwMCwibmJmIjoyMDAwMDAwMjQwLCJleHAiOjIwMDAwMDM2MDB9
签名 长度: 9
signature
什么是 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 在设计上是无状态的,无法直接使其失效。常见的策略包括短过期时间、令牌黑名单或更改签名密钥(使所有令牌失效)。