浏览器会忽略使用 Axios/fetch 时收到的 cookie,但是当后端提供 HTML 时它会接受它们吗?

问题描述 投票:0回答:0

我正在构建一个简单的网站,但发现浏览器拒绝保存我的服务器发送给它们的任何 cookie。在什么条件下浏览器可能会拒绝来自服务器的

Set-Cookie
标头?饼干很普通:

Set-Cookie: auth=XXXXX; expires=Wed, 26 Jul 2023 14:47:20 GMT; HttpOnly; Max-Age=300; Path=/; SameSite=Lax

但我也尝试发送相当多的简单 cookie 变体(例如,无 HttpOnly、有且无过期等)。

Set-Cookie: COOKIE-NAME=COOKIE-VALUE; Path=/

然而似乎没有任何效果。检查响应标头时,它们看起来与您所期望的一样,并且 Chrome 的开发工具没有表明任何问题,例如相同的站点设置。

我尝试过 Chrome、Firefox 和 Safari,但三者的行为方式相同。我有一个更技术性的问题here,但我认为这个问题从根本上来说是没有 Axios/Django 细节的问题。

我认为这可能与前端 javascript 发出的请求与浏览器发出的请求有关。

当后端直接提供一些 HTML 时,我能够设置一个 cookie(并且浏览器保存它)(而不是作为 API 服务器,这正是我遇到的问题)。但是,当我尝试在 Javascript (React) 中使用 Axios/fetch 时,浏览器会忽略 Set-Cookie

。也许与 CORS 有关?

cookies browser cors setcookie
© www.soinside.com 2019 - 2024. All rights reserved.