在不同域之间共享数据

时间:2018-11-26 06:24:42

标签: javascript node.js rest express web-frontend

我在两个不同的计算机上运行两个不同的服务,因此两个服务的网址都将不同。

第一个用户将进入前端的第一个服务,并且当在该服务上单击某个按钮时,该用户将被重定向到其他前端服务,这些前端服务在具有不同动态值的不同计算机上运行。 我的问题是,我们如何在这两个不同的域服务之间共享数据而又不将数据作为查询字符串发送。

3 个答案:

答案 0 :(得分:0)

您可以使用localStoragesessionStorage共享数据。

例如

//first service
sessionStorage.setItem('item-key',itemData);

//second service
var itemData = sessionStorage.getItem('item-key');

此处item-key唯一以表示共享数据

答案 1 :(得分:0)

如果这两个服务共享同一个根域,例如a.mysite.com和b.mysite.com,则可以尝试将日期存储在cookie中,以使其成为mysite.com的路径。

答案 2 :(得分:0)

其他评论者提供了有关如何在客户端上存储数据的示例(localStorage和sessionStorage),以及将数据与请求一起发送到服务器的一种方法(cookie)。

但是,您说您正在尝试共享RSA令牌,这告诉我您并不真正了解RSA应该如何工作。简短的答案是,您根本不共享RSA令牌。至少不是您考虑的方式。相反,您要通过知道如何处理用户的令牌和密码组合提供的2FA的服务器进行身份验证,这通常只是发送给该服务器的POST请求,就像其他登录一样。然后,该服务器将使用某种其他票证/令牌/会话cookie /进行响应,无论对基础结构中其他服务的后续请求将包含在其中。根据您要使用的机制,该服务将执行哪些操作以验证声明的细节将发生变化,但这是一般模式。

我强烈建议您研究正在使用的技术,以免意外损害其提供的安全性。这是RSA的起点:https://community.rsa.com/videos/26526