当我将域属性与子域值一起使用时,HttpOnly Cookie 不起作用
Posted
技术标签:
【中文标题】当我将域属性与子域值一起使用时,HttpOnly Cookie 不起作用【英文标题】:HttpOnly Cookie not working when I use the domain attribute with a subdomain value 【发布时间】:2021-12-20 05:23:15 【问题描述】:我正在使用 ExpressJS 来提供这个 cookie,如下所示: res.cookie('x-customer', access_token, maxAge: 1200000, httpOnly: true, domain: 'abc.com.au', secure: true )
在我的本地,我正在使用 nginx 代理,它工作正常,这个响应设置我的 cookie 就好了:
Chrome Devtools > Network > Cookie 选项卡显示响应正在设置它
Chrome Devtools > Network > Headers 选项卡显示具有 Set-Cookie 的响应
但是,一旦我将其移至 TEST 环境,它就不再设置 cookie:
Chrome Devtools > Network > Cookie 选项卡甚至不显示响应
Chrome Devtools > Network > Headers 选项卡缺少响应集 Cookie
然后,如果我删除域属性并部署到 TEST,cookie 开始出现并且 Response 能够设置它,但不是正确的解决方案,因为我需要指定域属性以便子域,例如 site1.abc。 com.au 和 site2.abc.com.au 将能够读取 cookie。
更新 1:即使我更改域属性以将确切的域作为原点,它仍然不起作用;就像我在 cookie 中存在域属性一样,它在仅测试环境中停止工作
更新 2:我认为测试环境使用 Webseal 或 Isam 或类似的东西,可能是阻止/丢弃 cookie 的那个吗?
你能帮忙告诉我问题出在哪里吗?
【问题讨论】:
【参考方案1】:问题出在 Webseal 上。默认设置会导致问题。 他们不得不使用
validate-backend-domain-cookies:no
【讨论】:
以上是关于当我将域属性与子域值一起使用时,HttpOnly Cookie 不起作用的主要内容,如果未能解决你的问题,请参考以下文章
当我将 setContentSize 与自动布局一起使用时,UIScrollView 崩溃