Skip to content

JWT

什么是JWT? JWT(JSON Web Token)是一种开放标准(RFC 7519),用于在网络应用环境间以紧凑的URL安全的方式传递声明。JWT可以被用来进行身份验证和信息交换。 JWT的结构由三部分组成:头部(Header)、载荷(Payload)和签名(Signature)。它们之间用点(.)分隔开来。

  1. 头部(Header):包含了令牌的类型(JWT)和所使用的签名算法(如HMAC SHA256或RSA)。
  2. 载荷(Payload):包含了要传递的数据,可以是用户信息、权限等。载荷部分可以包含自定义的声明(Claims),如用户ID、过期时间等。
  3. 签名(Signature):用于验证消息的完整性和身份验证。通过将编码后的头部和载荷与密钥结合,使用指定的算法生成签名。

JWT的工作流程

JWT的工作流程如下:

  1. 用户登录时,服务器验证用户的身份信息(如用户名和密码)。
  2. 验证通过后,服务器生成一个JWT,并将其返回给用户。
  3. 用户在后续的请求中,将JWT放在HTTP请求头中发送给服务器。
  4. 服务器接收到请求后,验证JWT的签名和有效性。
  5. 如果JWT有效,服务器将允许访问受保护的资源,否则返回401 Unauthorized错误。