JWT
签名算法
对称密钥
私钥 随机生成
公钥 (PEM or JWKS)
头部 (Header)
载荷 (Payload)
签名算法
对称密钥
私钥 随机生成
公钥 (PEM or JWKS)
JWT
JWT:JSON Web Token,是一种用于身份验证和授权的开放标准,它由三部分组成:头部(Header)、载荷(Payload)和签名(Signature)。
1. Header 通常由令牌的类型和加密的算法组成。
2. Payload 主要是记录我们所存储的简单且不重要的信息。JWT 规定的 7 个官方字段:
  • iss (Issuer): JWT 的签发者
  • sub (Subject): JWT 的主题,即该 JWT 所面向的用户
  • aud (Audience): JWT 的接收者
  • exp (Expiration Time): JWT 的过期时间,UNIX 时间戳格式
  • nbf (Not Before): 定义在此时间之前,JWT 不会被接受处理
  • iat (Issued At): JWT 的签发时间,UNIX 时间戳格式
  • jti (JWT ID): JWT 的唯一标识符,用于防止重放攻击
3. Signature 签名里是由三部分组成,Header 的 Base64 编码,Payload 的 Base64 编码,还有 secret,然后通过指定的加密方式,例如 HS256,进行加密后得出的字符串, HMACSHA256(base64UrlEncode(header) + "." + base64UrlEncode(payload), secret)。