jsonp、cookies实现单点登录(完全跨域)

单点登录实现的目标:在一个套系统的任意一个系统中登录之后,访问其他子系统能直接登录。在同一主域名下的所有系统可以共享主域名的cookies,所以再一台服务器中登录之后,将token信息存入到主域名下的cookies中,任意一个子系统访问会自动带上这个token信息,能达到单点登录的效果。这里主要实现完全跨域的情况下如何实现单点登录:也就是两个系统的域名完全分离,不能共用cookies信息,...
摘要由CSDN通过智能技术生成

单点登录实现的目标:在一个套系统的任意一个系统中登录之后,访问其他子系统能直接登录。

在同一主域名下的所有系统可以共享主域名的cookies,所以再一台服务器中登录之后,将token信息存入到主域名下的cookies中,任意一个子系统访问会自动带上这个token信息,能达到单点登录的效果。

这里主要实现完全跨域的情况下如何实现单点登录:也就是两个系统的域名完全分离,不能共用cookies信息,所以如何在子系统间共享或者传输token信息是最大的问题。

有一个解决方案是:在一个统一登录界面登录之后,将token信息放到重定向的url里面,重定向之后就可以解析url路径参数中的token信息,然后存到自己域名下的token中,但是这个不太优雅,容易造成token的窃取,比如重定向一个url是危险服务器的地址,登录成功之后token信息将会传入到指定服务器中,这就造成token泄露。

这里利用jsonp实现跨域请求鉴权,返回token信息之后存入到自己域名下,之后子系统每次请求都先到统一认证中心进行token检验。使用jsonp也会造成json劫持,这就需要进行Referer验证之类的防范措施了。

具体流程:

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值