0

我正在使用 ExpressJS 像这样返回这个 cookie: res.cookie('x-customer', access_token, { maxAge: 1200000, httpOnly: true, domain: 'abc.com.au', secure: true })

在我的本地,我正在使用 NGINX 代理,它工作正常,这个响应设置我的 cookie 就好了:

  1. Chrome Devtools > Network > Cookie 选项卡显示 Response 正在设置它 在此处输入图像描述

  2. Chrome Devtools > Network > Headers 选项卡显示具有 Set-Cookie 的响应 在此处输入图像描述

但是,一旦我将其移至 TEST 环境,它就不再设置 cookie:

  1. Chrome Devtools > Network > Cookie 选项卡甚至不显示响应 在此处输入图像描述

  2. Chrome Devtools > Network > Headers 选项卡缺少响应集 Cookie 在此处输入图像描述

然后,如果我删除域属性并部署到 TEST,cookie 开始出现并且 Response 能够设置它,但不是正确的解决方案,因为我需要指定域属性以便子域,例如 site1.abc.com.au并且 site2.abc.com.au 将能够读取 cookie。

更新 1:即使我更改域属性以将确切的域作为原点,它仍然不起作用;就像我在 cookie 中存在域属性一样 sson 然后它停止在仅测试环境中工作

更新 2:我认为测试环境使用 Webseal 或 Isam 或类似的东西,它可能是阻止/丢弃 cookie 的那个吗?

你能帮忙,让我知道问题出在哪里吗?

4

1 回答 1

1

问题在于 Webseal。默认设置会导致问题。他们不得不使用

validate-backend-domain-cookies:no
于 2021-11-09T04:57:36.580 回答