基于JWT机制的单点登录

使用JWT实现单点登录时,需要注意token时效性。token是保存在客户端的令牌数据,如果永久有效,则有被劫持的可能。token在设计的时候,可以考虑一次性有效或一段时间内有效。如果设置有效时长,则需要考虑是否需要刷新token有效期问题(比如有效期是10分钟,10点登陆,有效时间到10点10分,10点09分再次请求一次,要刷新有效期,有效时间到10点19分)。

使用JWT技术生成的token,客户端在保存的时候可以考虑cookielocalStoragecookie保存方式,可以实现跨域传递数据。(cookie仅仅用于存储,不做传输,传输使用请求Header)  localStorage是域私有的本地存储,无法实现跨域。

webstorage可保存的数据容量为5M。且只能存储字符串数据

webstorage分为localStoragesessionStorage

localStorage生命周期是永久的,关闭页面或浏览器之后localStorage中的数据也不会消失。localStorage除非主动删除数据,否则数据永远不会消失。

sessionStorage是会话相关的本地存储单元,生命周期是在仅在当前会话下有效sessionStorage引入了一个浏览器窗口的概念,sessionStorage是在同源的窗口中始终存在的数据。只要这个浏览器窗口没有关闭,即使刷新页面或者进入同源另一个页面,数据依然存在。但是sessionStorage在关闭了浏览器窗口后就会被销毁。同时独立的打开同一个窗口同一个页面,sessionStorage也是不一样的。

猜你喜欢

转载自www.cnblogs.com/sbk613/p/10925429.html