单点登录的演进——从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吧

 

posted @ 2020-07-01 14:21  杨兮臣  阅读(309)  评论(0编辑  收藏  举报