我正在尝试获取不同网站之间的 session 数据,类似于 stackexchange 对其所有姐妹网站所做的事情,其中我登录一次,然后在其他网站上检测到我的 session 。
但不同之处在于,我需要在 www.site1.com 上创建一个 session 并在 www.site2.com 上访问它,并且还会将此代码发布到第 3 方网站上,以便仍然从其网站访问该 session 。包含的信息不敏感(密码/ID),只会让我通过 publicID 知道用户是谁。
我在 session 中使用 Nodejs 和 Redis。
我尝试过的事情:
1) Iframe、postMessage、localStorage:
-用户通过 PostMessage 将 session 信息从 site1.com 发送到包含“site2.com”的同一页面上的 iframe。在 site2.com 上,当我收到消息时,我尝试保存到 site2.com 本地存储,目标是从页面上具有 site2.com iframe 的任何其他网站访问 site2.com session 。
我遇到的错误是,无法通过从 site1.com 向 site2.com iframe 发送 postMessage 来保存其他域上的 localStorage。
在 site1.com 上,我有一个显示 site2.com 的 iframe,其中 site2.com 是我将保存 session 的服务器。
2) CORS ajax:无法保存/记住 session
<小时/>我听说过浏览器指纹识别,例如 facebook/google 如何跨网站跟踪用户,这可能是我需要的解决方案类型。
有人可以让我知道我可以尝试什么不同的方法吗?谢谢。
最佳答案
您可以使用存储在 cookie 上或通过 URL 传递的访问 token ,类似于 RESTful 应用程序的工作方式。这可能会有所帮助:
关于javascript - 如何在不同网站之间共享数据变量或本地存储? iframe?postMessage?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25515932/