JWT的简单认知

JWT

json web token 解决前后端分离的认证问题,其实还是一种session,只不过这种session并不在服务端存储,而是在客户端存储

基本原理

服务端认证生成二段json,然后对json按设定的加密方法进行加密,然后返回给前端,服务器是无状态的

数据结构

有3个部分, header+payload+signature,官网例子,下图的红色部分是header,紫色是payload存储数据的部分,蓝色是加密的签名认证部分
在这里插入图片描述

  1. header部分,对json字符串进行base64Url加密,内容
{
 "alg": "HS256", //加密算法
 "typ": "JWT"//可以省略
}
  1. payload部分,实际传递的数据,也是json字符串base64Url加密,可以自定义
{
  "sub": "1234567890",
  "name": "John Doe",
  "iat": 1516239022 
}

不能把私密或者重要的信息放到这里,因为这里信息是可以随便加密解密的
3. signature部分,签名认证部分,有前2部分base64Url加密之后的信息,加上自己的secret,按照第一部分的设定的加密算法,得到一个签名

HMACSHA256(
  base64UrlEncode(header) + "." +
  base64UrlEncode(payload),
  your-256-bit-secret
)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值