作用:
用户身份验证
和数据信息交换
利用JJWT开发登录流程图
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/a8e33ffc278d7f31c8bd3f9cd1e67ef4.png)
JWT数据结构
JWT的数据结构是:A.B.C,有英文字符点.来分割三部分数据
- A - header 头信息
- B -payload 有效荷载
- C- signature 签名
header
数据结构:{“alg”:“加密算法名称”,“typ”:“JWT”}
alg是加密算法名称,如HMACSHA256、RSA
typ是token类型,这里固定为JWT
payload
在payload数据块中一般记录实体(通常为用户信息)或其他数据的,主要分为三个部分,分别是:已注册信息(registered claims),公开数据(public claims),私有数据(private claims)
payload常用信息有:iss(发行者),sub(主题),aud(受众)等。这是都是已注册信息
公开数据部分一般都是JWT注册表中增加定义,避免和已注册的冲突。
公开数据和私有数据可以由程序员任意定义。
signature
签名信息是由开发者提供的信息,是服务器验证的传递的数据是否是有效的安全的标准,在生成JWT最终数据之前,先使用header中定义的加密算法,将header和payload进行加密,并使用点进行拼接,再使用相同的加密算法,对加密后的数据和签名信息进行加密,得到最终签名结果。