JWT
一、什么是JWT?
(1) JWT是一种跨域认证解决方案
二、JWT解决了什么问题?
(1) 数据传输更加简单和高效
(2) JWT会生成签名,保证传输的安全
(3) JWT具有时效性
(4) JWT更高效利用集群做好单点登录
三、JWT原理
(1) 服务器认证和,生成一个JSON对象,后续通过JSON进行通信
四、JWT数据解构
(1) Header(头部)
Header解构
{
"alg":"HS256", // 加密的算法
"typ":"JWT" // 加密的类型
}
(2) Payload(负载)
iss (issuer): 签发人
exp(expiration time):过期时间
sub (subject):主题
aud (audience):受众
nbf (Not Before):生效时间
iat(Issued At):签发时间
jti (JWT ID): 编号
可以从中挑选一些放进去,也可以添加一些自定义的数据
(3) Signature(签名)
HMACSHA256(base64UrlEncode(header)+"."+base64UrlEncode(payload),secret)
secret:密钥
JWT TOKEN = Header.Payload.Signature
五、JWT使用方式
(1)/api?token= xxx
(2)cookie 写入 token
(3)storage写入token,请求体添加:Authorization:Bearer <token>

浙公网安备 33010602011771号