我呕心沥血,终于整理了JwtToken认证,还附带单点登录小Demon

在这里插入图片描述一:日常瞎比比。
日常上号,一点点积累就对了。
进入公司实习第二周,老大给了JWTtoken认证的任务让我做。
太可怕了。我肝了两天半肝出来。可想而知我是多么菜。二话不说进入今天主题。
二:进入主题。
1、 JWT是什么?
官方解释如下:

1:JWT是一种用于双方之间传递安全信息的简洁的、URL安全的表述性声明规范。
2:JWT 是一种 紧 凑 且 自 包 含 的,用于在多方传递 JSON 对象的技术。
3:JWT作为一个开放的标准(RFC 7519)定义了一种简洁的,自包含的方法用于通信双方之间以JSON对象的形式安全的传递信息。因为数字签名的存在,这些信息是可信的。
4:JWT可以使用HMAC算法或者是RSA的公私秘钥对进行签名。
紧凑:数据小,可以通过 URL,POST 参数,请求头发送。且数据小代表传输速度快
自包含:使用 payload 数据块记录用户必要且不隐私的数据,可以有效的减少数据库访 问次数,提高代码性能

2、JWT用在什么地方?

JWT一般用于处理用户身份验证或者数据信息交换。
用户身份验证:一旦用户登录,每一个登录后续请求都会包含一个JWT,允许用户访问的资源和路由以及服务都必须是该token令牌所允许的。单点登录也是本次的一个小demon.
数据信息交换:JWT是一种方便传递数据的载体,因为其可以使用数据前面 来保证数据的有效性和安全性。

3、JWT的数据结构。
JWT数据结构类似下方结构形式,由字符串"."分割。

AAA.BBB.CCC

AAA:header 头信息
BBB:payload 载荷
CCC:Signature 签名信息
详细解释一下:

头信息:{“alg”:“加密算法名称”,“typ”:“JWT”}
荷载:该数据库主要是存储需要传送的信息或其他数据的。可以分为:
已注册信息(registeredclaims),公开数据(publicclaims),
私有数据(private claims)。 
荷载常有信息:iss(发行者),exp(到期时间),sub(主题),aud(受众)等。
签名信息:这是一个由开发者提供的信息。是服务器验证的传递的数据是否有效安全的标准。
在生成 JWT 最终数据的之前。先使用 header 中定义的加密算法,将 header 和 payload 
进行加密,并使用点进行连接。如:加密后的 head.加密后的 payload。再使用相同的加密算法,
对加密后的数据和签名信息进行加密。得到最终结果。

4、单点登录流程图

4、单点登录Demon详细步骤。
环境搭建:
在这里插入图片描述在这里插入图片描述代码:JWTDemon

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值