如何使用节点聊天服务器的单个瞬间作为使用该应用程序的不同组织的mutitenant?

我已经为客户服务支持做了一个节点应用程序。 我想讨论下面的情景:

假设多个组织订阅我的客户支持服务(聊天服务)。 现在所有的客户我想使用相同的后端。 目前对于单个组织来说,应用程序正在工作。 假设一个客户来到网站abc.com,那么abc.com的代理能够服务通过节点应用传递给他们的聊天。 我给他们脚本像

<script type = 'text/javascript' src = 'http://chatting.com/?initialScript?organisation=abc' 

通过它与他人“聊天”div被包括在他们的网站中,并且所有聊天stream量都stream向chatting.com(假设名称),而与abc.com无关。 chatting.com通过存储在浏览器中的cookie(第三方cookie)跟踪用户。 下一次,chatting.com发出的任何命令都会将该cookie与请求一起发送。

但是,当我想使这个应用程序多租户时,真正的问题来了。 现在假设abc.com和def.com订阅了我的应用程序。 并且用户在不同的选项卡中并排打开浏览器中的两个站点。 现在,由于我的应用程序将chatting.com cookies作为第三方cookie保存,因此abc.com和def.com“与我们聊天”选项将在浏览器中使用与chatting.com相同的cookie。 但是,这将导致冲突,因为两个客户的cookie数据是相同的。 在后端服务器将把这两个客户视为相同,因为他们与cookie的区别和cookie是相同的情况下。 所以这会导致问题。

现在我想到了一个解决scheme。 我使用快递作为后端Web服务器。 我将覆盖每个http响应中发送cookie的默认行为。 但会发送Cookie文件(一个用于“聊天我们”的div),它将使用document.cookie javascript函数在客户端写入cookie。 因此,我的应用程序cookies将成为第一方cookie。 因此,下一次请求发送到chatting.com,那么我将通过使用相同的document.cookie从abc.com的域中读取该cookie,因此cookie不会发生冲突。

但即时通讯find这个解决scheme。 如果有人有任何想法如何实现我的目标,我会感激。

提前致谢