javascript - 如何在不同网站之间共享数据变量或本地存储? iframe?postMessage?

标签 javascript iframe local-storage

我正在尝试获取不同网站之间的 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 应用程序的工作方式。这可能会有所帮助:

http://www.sitepoint.com/using-json-web-tokens-node-js/

关于javascript - 如何在不同网站之间共享数据变量或本地存储? iframe?postMessage?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25515932/

相关文章:

javascript - 如何将 jQuery 函数的结果传递给 PHP

javascript - 变量可能超出范围

java - Android 应用程序中 Iframe 站点的进度状态

javascript - 当用户删除离线数据时保留 Firefox 附加组件 localStorage

couchdb - 我可以使用 CouchDB mobile 作为 localStorage 的替代品吗?

javascript - 统计字符串中每个单词的出现次数并将其放入一个对象中

javascript - 单击jquery后更改变量值

javascript - 如何使用 jQuery 在 iframe 中显示输入源?

javascript - HtmlUnit - 如何显示 iframe 内容

local-storage - 仅使用 localStorage 的应用程序是否必须符合 GDPR 合规性?