vue前后端分离实现SSO单点登录(跨域)

本文介绍了一种使用Vue在www.a.com网站下通过iframe嵌入B网站登录页面,利用`postMessage`进行用户标识内容传递,从而实现SSO单点登录跨域的方法。然而,此方案仅涉及用户信息交互,尚未涵盖完整的SSO功能,如同步退出等。
摘要由CSDN通过智能技术生成

1.首先在a(www.a.com)网站下创建文件夹a.vue,通过iframe引入B网站登录页面

<iframe
      ref="iframe"
      src="http://www.b.com/#/login"
      style="height: 400px; width: 1200px; margin-bottom: 100px; display: none"
    ></iframe>

2.a 通过‘postMessage’传值给b网站 info为用户标识内容

this.$refs.iframe.contentWindow.postMessage(info, '*')

3.b网站接受值

window.addEventListener('message', function (e) {
      if (e.source !== window.parent) return
      if (e.type !== 'webpackWarnings') {
        // console.log(typeof e.data)
        if (typeof e.data === 'string') {
          // console.log(e.data)
          let res = JSON.parse(e.data)
          if (typeof res === 'object') {
            // console.log(1)
            localStorage.setItem('user', e.data)
            localStorage.setItem('toke
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值