JWT(JSON Web Token)是一种用于身份验证和信息交换的开放标准(RFC 7519),它可以安全地在两个实体之间传输信息。JWT通常用于在客户端和服务器之间传递身份信息,以便于实现用户的认证和授权。
JWT由三部分组成:头部(Header)、载荷(Payload)、签名(Signature)。
1、头部(Header): 头部通常由两部分组成,标明了JWT的类型(即“JWT”)以及所使用的签名算法(比如HMAC SHA256或RSA)
2、载荷(Payload): 载荷包含了JWT的具体信息,包括了一些标准的声明(比如用户ID、用户名等)以及自定义的声明。
3、签名(Signature): 签名是对头部和载荷进行签名的结果,以防止篡改。签名通常是通过使用头部中指定的签名算法以及一个密钥来生成的。
以苍穹外卖的JWT作为例子
创建token
@ConfigurationProperties 表明当前类是一个配置属性类
通过配置属性类将需要的属性封装成类,再注入到controller中
通过@build注解调用build方法封装需要的属性(也可以new)
载荷