Django CSRF 保护跨站点发布请求

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

我使用 React 作为前端,使用 django 作为后端。 当我在本地主机上托管前端和后端时,一切正常,并且

X-CSRFTOKEN
发送完美。

const instance = axios.create({
    withCredentials: true,
    withXSRFToken: true,
    xsrfHeaderName : 'X-CSRFTOKEN',
    xsrfCookieName : 'csrftoken'
});

我的 DJango 设置是(取自此答案 Django - 检查 cookies 的“SameSite”属性):

CORS_ALLOW_CREDENTIALS = True
CSRF_COOKIE_SECURE = True
SESSION_COOKIE_SECURE = True
CSRF_COOKIE_SAMESITE = "None"
SESSION_COOKIE_SAMESITE = "None"

但是当我的前端 (firebase ) 和后端 (eks aws) 托管在不同的子域上时,我收到 403 禁止错误。

它应该返回 201 ccreated 响应,但它返回 403 错误,

CSRF verification failed. Request aborted.

reactjs django axios csrf
1个回答
0
投票

将您的域名添加到

CSRF_TRUSTED_ORIGINS = ['https://yourdomain.com']
 中的 
settings.py

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