前端实现单点登录的几种方式
1、共享cookie将cookie域名设置为父级域名;在进入另一个系统时,利用vue的路由管理判断用户信息是否一致,一致则进入系统,不一致跳转至登录页。2、认证中心单独建立认证中心,负责处理登录请求的独立服务,由认证中心检测token并返回给客户端,客户端作相应判断是否可以进入系统。3、localstorage跨域第一次获取token;var token = result.data.token;建
·
1、共享cookie
将cookie域名设置为父级域名;
在进入另一个系统时,利用vue的路由管理判断用户信息是否一致,一致则进入系统,不一致跳转至登录页。
2、认证中心
单独建立认证中心,负责处理登录请求的独立服务,由认证中心检测token并返回给客户端,客户端作相应判断是否可以进入系统。
3、localstorage跨域
第一次获取token;
var token = result.data.token;
建立不可见的iframe;
var iframe = document.createElement("iframe");
iframe.src = "http://app1.com/localstorage.html";
document.body.append(iframe);
使用postMessage方法将token传递给iframe;
setTimeout(function () {
iframe.contentWindow.postMessage(token, "http://app1.com");
}, 4000);
setTimeout(function () {
iframe.remove();
}, 6000);
给iframe添加监听事件,当触发这个事件时,将token存入localstorage;
window.addEventListener('message', function (event) {
localStorage.setItem('token', event.data)
}, false);
前端每次请求从localstorge获取token并传递给后台。
更多推荐
已为社区贡献2条内容
所有评论(0)