当我使用具有子域值的域属性时,HttpOnly Cookie 不起作用

HttpOnly Cookie not working when I use the domain attribute with a subdomain value

我正在使用 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 的 Reponse

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

  1. Chrome Devtools > Network > Cookie 选项卡甚至不显示 Response

  2. Chrome Devtools > Network > Headers 选项卡缺少 Response Set-Cookie

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

更新 1:即使我将域属性更改为具有确切的域作为来源,它仍然不起作用;作为 sson 因为我在 cookie 中存在域属性然后它停止在仅测试环境中工作

更新 2:我认为测试环境使用 Webseal 或 Isam 或类似的东西,可能是 blocking/dropping cookie?

你能帮忙告诉我问题出在哪里吗?

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

validate-backend-domain-cookies:no