两个不同的域名,要如何共享数据

a系统和b系统的ip地址相同,端口号不同,即a系统:192.168.1.150:8080,b系统 192.168.1.240:8090。当在a系统实现登录后,后台接口会返回一个token,将token保存在cookie中,如何在b系统中获得这个token的值?前端请问有什么办法可以处理?

阅读 10.2k
3 个回答

两种方式:

  1. 单点登录,需要后台部署一个验证服务器
  2. 两个服务部署到同一个根域名下,可不同子域名,将cookie设置根域名下

你好,这是典型的跨域存储问题,正常来讲本地存储的 api 受跨域限制,但是我们可以“曲线救国”的方式,变向来共享存储数据,具体实现原理可看这里

最近遇到了题主同样的问题,有两个思路。

  • 将两个系统归于同一域名下,使用二级路经区分项目。如:http://www.test.com/a/http://www.test.com/b/ 。若两个项目不愿归一?,那么可服务器可采用反向代理,使其同源。
  • 使用 跨文档消息传递(XDM) , 原理是两系统窗口使用 postMessage 方法传递数据,接收方窗口监听 message 事件获取信息。(详情参考《JavaScript高级程序设计(第3版》 第16章第1节)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题