未设置 cookie 时出现 CORS 错误

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

我总是对 CORS 感到非常痛苦,这就是我的情况。
我正在从我的前端发送 get 请求:

const axiosInstance = Axios.create({
  baseURL: process.env['NEXT_PUBLIC_API_URL'],
  withCredentials: true,
});

const { data } = await axiosInstance.get<string>(ApiRoutes.NONCE);

在我的后端 CORS 是这样配置的:

app.add_middleware(
    CORSMiddleware,
    allow_origins=["*"],
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
)

请求处理程序如下:

session_id = generate_session_id()

COOKIES[session_id] = {
    'nonce': generate_nonce()
}

response.set_cookie(
    key=COOKIE_SESSION_ID_KEY,
    value=session_id,
    samesite='none',
    secure=True)

return COOKIES[session_id]['nonce']

问题是当我第一次获取 /nonce 时,当未设置 Cookie 时,我收到 CORS 错误 CORS error 但是当我第二次得到它时,一切正常,因为 Cookie 已经设置好了。 Everything is fine 为什么在未设置 cookie 时出现 CORS 错误以及如何解决此问题?

cookies cors
1个回答
0
投票

我通过将

allow_origins
*
更改为我的域来修复此问题。 Chrome 这边好像被屏蔽了

我在这里找到了解决方案:如何调试 CORS 错误

当请求的凭证模式为“include”时,响应中“Access-Control-Allow-Origin”标头的值不能是通配符“*”

© www.soinside.com 2019 - 2024. All rights reserved.