Token存放引发的血案

364 阅读1分钟

1.首先我们来说一下并不陌生的localStorage 和 sessionStorage的区别

特性localStoragesessionStorage
作用域只要协议,域名,端口号一致,就能读取/修改到同一份localStorage数据sessionStorage不仅要协议,域名,端口号一致,并且需要在同一窗口
生命周期理论上是永久有效,不主动清空就不会消失当窗口关闭时就会清空
存储大小5M左右5M

2.Token存在localStorage里遇到的问题

在浏览器中登录一个账号之后,再新开一个窗口登录其他账号,由于项目中单点登录接口不需要传递Token,但是Token又是存放在localStorage里面,导致新开窗口单点登录接口直接带上了存放在localStorage中的Token,导致接口出现问题,没办法完成单点登录

解决办法:把Token存在sessionStorage中,两个窗口之间的Token互不影响