为什么要学习JWT?
1.1.简介
JWT,全称是Json Web Token, 是JSON风格轻量级的授权和身份认证规范,可实现无状态、分布式的Web应用授权;它是分布式服务权限控制的标准解决方案!
官网:https://jwt.io
GitHub上jwt的java客户端:https://github.com/jwtk/jjwt
1.2.数据格式
普通的token:32位UUID
JWT的token:
JWT的token包含三部分数据:
Header:头部,通常头部有两部分信息:
声明类型type,这里是JWT(type=jwt)
加密算法,自定义(rs256/base64/hs256)
我们会对头部进行base64加密(可解密),得到第一部分数据
Payload:载荷,就是有效数据,一般包含下面信息:
用户身份信息-userid,username(注意,这里因为采用base64加密,可解密,因此不要存放敏感信息)
注册声明:如token的签发时间,过期时间,签发人等
这部分也会采用base64加密,得到第二部分数据
Signature:base64加密,签名,是整个数据的认证信息。一般根据前两步的数据&#