如何在不同的网站上共享数据变量或本地存储? IFRAME?postMessage的?

时间:2014-08-26 22:06:34

标签: javascript iframe local-storage

我正在尝试获取不同网站之间的会话数据,类似于stackexchange对其所有姐妹网站所做的事情,我在其中登录一次,并在其他网站上检测到我的会话。

但不同之处在于我需要在www.site1.com上创建会话并在www.site2.com上访问它,并且还会在第三方网站上发布此代码以仍然从他们的站点访问会话。包含的信息是非敏感信息(密码/身份证),只是通过公共ID让我知道用户是谁。

我正在使用nodejs和redis进行会话。

我尝试过的事情:

1)iframes,postMessage,localStorage:

-User通过PostMessage将会话信息从site1.com发送到包含“site2.com”的同一页面上的iframe。在site2.com上,当我收到消息时,我正在尝试保存到site2.com localstorage,目标是从其页面上具有site2.com iframe的任何其他网站访问site2.com会话。

我收到错误,无法通过将siteMessage从site1.com发送到site2.com iframe来保存其他域上的localStorage。

在site1.com上我有一个显示site2.com的iframe,其中site2.com是我的服务器,可以保存会话。

2)CORS ajax:无法保存/记住会话


我听说过浏览器指纹识别,比如facebook / google如何跨站点跟踪用户,这可能是我需要的解决方案类型。

有人可以让我知道我可以尝试不同的东西吗?感谢。

1 个答案:

答案 0 :(得分:0)

您可以使用存储在Cookie上或在网址上传递的访问权限,类似于RESTful应用的工作方式。这可能是一个有用的阅读:

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