单点登录的演进——从Session到Token
承接上一篇博客——授权与认证——应用服务器集群的Session管理
一、Session跨域
二、Spring Session共享
三、Nginx Session共享
四、Token机制
4.1.传统身份认证
4.2.Token身份认证
五、JSON Web Token(JWT)机制
1.JWT数据结构
1.1 header
1.2 payload
1.3 Signature
2.JWT执行流程
六、基于JWT机制的单点登录
6.1.实现
6.2.注意
6.3.token保存位置
6.4.webstorage
附录:
添加这个附录的目的是为了说明实践远非理论知识,以JWT为例,我在XXX项目中我就强推JWT,以上的技术优势不必多说,因为现在IT大厂都在用,技术成熟,这是趋势,技术人员一定要学会紧跟技术演进的趋势。新技术的使用自然就会遇到新的实际问题,就会研究各种解决方案。
项目名称:XXXX媒资项目
时间:17至18年度
人员:20人(中台开发人员11人,前端开发4人,测试3人,产品2人)
客户:政企系
一开始没经验,之前负责的项目都是内部项目,安全性要求不高,而且那会我们内部已经存在单点登录机制了,是直接接入到单点登录服务的,用得也很溜了。但是这项目是面向市场的,客户那边也倾向于使用JWT技术,那我们就用吧。其实不难,从网上看了点资料就用上了,当时的要求真心不高,客户也不懂,我们自己对这方面也不专业,其实也知道又不少漏洞,但是token的有效期是一周,主流网站的token过期时间,一般不超过1h。想想都后怕。所以,当时就交付了,拿钱就行,事后自己也继续调研了,一直就想找个地方再玩玩更高级的用法。
所幸,19年年底开展了一个新的项目,Web端其实还是直接沿用了之前的JWT能力,但是这一次我们需要做全平台的产品了,要求自然要高一些,我在调研的时候,也就着重调研了这一块,就调研的安全知识写点感受,篇幅有限,还是仅限于JWT吧
---------------------------------------------------
作者:杨兮臣
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。
博主的文章没有高度、深度和广度,只是凑字数。由于博主的水平不高,不足和错误之处在所难免,希望大家能够批评指出。
博主是利用闲暇时间,把自己毕生所学整理一下,感谢行业的技术大咖