【发布时间】:2020-02-29 17:11:20
【问题描述】:
我正在尝试使用凭据(附加 Cookie)发出 CORS 请求,但 Chrome 并未将 Cookie 附加到我的请求中。我已将 cookie 设置为现有页面的子域,我可以观察到它已从 Cookie 管理器成功设置。
Chrome 78 版(最新版)没有这个问题。但是对于以前的版本,我有这个问题(我检查了75和77)。以及我对其他主要浏览器也没有任何问题。他们还可以毫无问题地附加 cookie。(我已经用 Firefox、IE、Opera 和 Edge 测试了我的代码)
这是我从外部服务端设置 Cookie 的方式。
res.setHeader('Set-Cookie','cdn-token=exp3header_same-site-none; domain=.local.com; path=/; SameSite=None;');
完整的示例代码库可以在以下链接中找到:
外部服务 - https://github.com/bhanukayapa/cors-backend.git
前端应用-https://github.com/bhanukayapa/cors-angular-frontend.git
谁能解释一下这个问题的根本原因?我还检查了 Chrome 发行说明。我找不到与此相关的错误修复或改进。提前致谢。
【问题讨论】:
-
请包含您用于发出请求的代码,或者更好的是,链接到演示此问题的页面。您是否通过 HTTPS 进行测试?
-
感谢@rowan_m 的回复。不幸的是,我将提供您请求的代码段和一个简单的应用程序的 Github 存储库来演示这个问题。是的,我使用的是 HTTPS。
-
@rowan_m 我已经用请求的信息更新了我的问题。你能看看吗?
标签: google-chrome cookies same-origin-policy google-contacts-api samesite