JWT全称为JSON Web Token,是一种声明式的标准,用于在各方之间安全地传输信息。JWT可以在客户端和服务端之间安全地传递信息,并且可被用来验证数据的真实性和可信度。JWT由三部分组成: Header, Payload和Signature。
- Header包含JWT的元数据,以JSON格式表示,包括算法和类型等信息。Header默认使用HS256算法进行签名,也可以使用其他可用的算法。
- Payload包含存储的实际数据,以JSON格式表示。Payload可以包含任何数据,包括用户ID、权限、时效性等,在认证成功后会传递给客户端。
- Signature用于验证JWT的真实性。Signature通过将Header和Payload组合,然后采用密钥对其进行签名生成。当服务器收到JWT后,它可以使用相同的密钥来验证签名的和内容的正确性。
JWT具有可扩展性和具有很高的安全性,因此它被广泛用于互联网认证和授权方案。