首页 > 解决方案 > 在axios中设置cookie不适用于跨域请求

问题描述

我在 localhost 上有一个带有 axios 的简单反应客户端,另一方面,我在服务器端有 python fastapi(都是 https)。服务器端设置了一个无 httponly cookie,客户端接收它但不会设置它。这是我的回应:

access-control-allow-credentials
    true
access-control-allow-origin
    https://localhost
access-control-expose-headers
    set-cookie
content-length
    52
content-type
    application/json
date
    Sun, 19 Sep 2021 12:46:09 GMT
server
    uvicorn
set-cookie
    fakesession=fake-cookie-session-value; Max-Age=100000000; Path=/; SameSite=none; Secure
vary
    Origin

这是我的客户端代码:

export const AxTest =  axios.create({
  //baseURL: "https://localhost:6069",
  baseURL: "https://***.***.***.***:3002",
  headers: {
    "Content-type": "application/json"
  },
  withCredentials: true,
});

cookie 未设置,我没有收到任何错误,响应代码为 200。document.cookie 为空。顺便说一句,我在我的本地主机上都尝试过(python 和在本地主机上运行的反应)它成功设置了 cookie。

标签: javascriptreactjscookiesaxiossetcookie

解决方案


推荐阅读