首页 > 解决方案 > 尽管 URL 不同,但在多个 Chrome 选项卡中为 cookie 设置了相同的值

问题描述

我的 Angular 应用程序 URL 结构如下:

    Domain/clientCode/*

并且作为 Node 应用程序的后端 API 正在设置 cookie,如下所示:

从 URL 中获取 clientCode 并将 cookie 设置为:

    response.cookie('client', clientCode, { httpOnly: true });

现在的问题是,当我们在不同的浏览器选项卡 (Chrome) 中快速连续打开多个客户端 URI 时,所有选项卡都会为客户端 cookie 获得相同的值。如果我们在加载前一个客户端选项卡后打开不同的客户端选项卡,则每个选项卡的 cookie 设置正确。

例子:

当我们在 Chrome 的不同选项卡中快速连续打开以下 URL 时:

客户端 cookie 对多个选项卡具有相同的值(我们希望每个选项卡的值根据 URL 中的 clientCode 不同)。我知道 cookie 是为域保存的,并且不考虑 URL 中的其他值,但是当我们打开多个 URL 时它工作正常,并且有一点间隙。

提前致谢。

标签: node.jsexpresscookies

解决方案


发生这种情况是因为您正在为您的域设置静态 cookie。您需要设置动态 cookie 以避免该问题。

例如:您可以使用随机动态值(如Michelle_456900234. 对于每个登录会话,您将有一个与之关联的动态值。在检索值时,只需找到子字符串用户名。


推荐阅读