JSON Web Tokens (JWT) 是一种用于在各方之间安全地传输信息的开放标准(RFC 7519)。JWTs 可以用于在各方之间安全地传输信息,例如用户身份验证和授权信息。

JWT 具有以下特点:

  • 自包含:JWT 包含所有必要的信息,无需额外的数据库查询。
  • 无状态:服务器不需要存储任何关于用户的会话信息。
  • 可扩展:可以轻松地添加自定义信息到 JWT 中。

以下是一个 JWT 的基本结构:

{
  "iss": "issuer",
  "exp": "expiration_time",
  "sub": "subject",
  "aud": "audience",
  "nbf": "not_before",
  "iat": "issued_at",
  "jti": "jwt_id"
}

其中:

  • iss:发行者
  • exp:过期时间
  • sub:主题(通常是用户)
  • aud:受众
  • nbf:不可使用之前的时间
  • iat:签发时间
  • jti:JWT ID

JWT 使用场景

JWT 常用于以下场景:

  • 用户认证:用于用户登录后生成一个 JWT,然后将其发送到客户端,客户端在后续请求中携带 JWT 进行身份验证。
  • API 授权:用于保护 API,确保只有拥有权限的用户才能访问。
  • 单点登录:用于实现多个系统之间的单点登录。

更多信息

想要了解更多关于 JWT 的信息,可以访问我们的 JWT 教程

JWT 图解