0

我正在尝试使用凭据(附加 Cookie)发出 CORS 请求,而 Chrome 没有将 Cookie 附加到我的请求中。我已将 cookie 设置为现有页面的子域,我可以观察到它已从 Cookie 管理器成功设置。

Chrome 78th 版本(最新版本)没有这个问题。但是对于以前的版本,我有这个问题(我检查了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 发行说明。我找不到与此相关的错误修复或改进。提前致谢。

4

1 回答 1

0

如果设置SameSite=None它必须与Secure. 例如

res.setHeader('Set-Cookie','cdn-token=exp3header_same-site-none; domain=.local.com; path=/; SameSite=None; Secure');
于 2019-11-05T17:25:22.227 回答