首页 > 解决方案 > 即使使用 SameSite=none,Cookie 也不会附加到请求

问题描述

我在https://example.com有一个网站。该网站调用https://example.com/api/weather(有些调用是 GET,有些是 POST)

要同时访问https://example.comhttps://example.com/api/weather,需要将 cookie 附加到请求中。如果未附加,则将用户重定向到使用身份提供者登录。

我希望在开发网页时能够在本地访问https://example.com/api/weather 。在这种情况下,页面的 URL 是 http://localhost:8000。我希望每当我从 http://localhost:8000 向https://example.com/api/weather发出 AJAX 请求时,cookie 会自动附加,因为在我的浏览器中存在此 cookie。但是,cookie 没有附加,我得到的只是重定向到登录页面(我正在使用 AJAX 进行 API 调用,因此重定向到登录页面不起作用)。

我尝试使用 SameSite="" (我认为它的工作方式类似于“lax”)和 SameSite=none 来配置 cookie。我对https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite的理解让我认为“无”应该有效。为什么不呢?

// 编辑我的 cookie 上也设置了“安全”。

标签: ajaxhttpcookiesbrowser

解决方案


推荐阅读