JWT(JSON Web Token)是一种用于安全传输信息的开放标准(RFC 7519),它可以作为 JSON 对象在各方之间安全地传输信息。JWT通常用于身份验证和声明传递,并且经常用于在客户端和服务器之间进行身份验证和授权。
JWT 的结构
一个 JWT 由三部分组成,每部分之间使用点号 .
分隔:
header.payload.signature
Header(头部):包含了令牌的元数据,通常包括令牌的类型(即 JWT)、使用的加密算法等信息。例如:
{"alg": "HS256","typ": "JWT"
}
Payload(载荷):包含了要传输的数据(称为声明),例如用户的身份信息、权限等。Payload 可以包含预定义的声明(例如 sub
表示主题、exp
表示过期时间等),也可以包含自定义的声明。例如:
{"sub": "1234567890","name": "John Doe","admin": true
}
Signature(签名):用于验证消息的完整性和真实性,确保消息在传