不同域名下登录同步问题

博客探讨了在www.a.com和www.b.com不同域名下,如何实现登录状态同步。前端首先尝试通过ifame和postMessage通信,但遇到iOS设备的兼容性问题。备用方案是在www.a.com下重新部署www.b.com的内容,但由于资源路径问题不可行。最终采用将www.a.com/b映射到www.b.com并调整资源路径,以解决跨域问题。强调完美方案是后端参与,通过服务端处理跨域名登录同步。
摘要由CSDN通过智能技术生成

问题描述

前端登录同步依赖localStorage,而localStorage只能在当前域名下访问。现www.a.com需要用www.b.com的登录页登录,登录完成的信息保存在www.b.com域下,如何将登录状态同步至www.a.com

拟用方案

通过ifame,postMessage通信

  1. 在www.a.com中内嵌www.b.com的ifame,需要登录时将ifame置顶,登录成功后通过postMessage将登录信息传回至www.a.com。此方案理论上可行,但是登录页登录成功之后会有跳转,如果变成内嵌ifame需要做对应的改造,且不排除www.b.com放入ifame中访问可能会出现一些样式或功能上的问题,此方案未尝试。

  2. 在www.a.com中内嵌www.b.com下的一个页面c.html。需要登录时直接跳转www.b.com去登录,登录完成之后,c.html获取到www.b.com域下的

    // www.a.com index.js
    const login = function() {
      window.addEventListener(
        'message',
        e => {
          if (event.origin != 'https://www.b.com') return;
          con
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值