CSRF Failed HTTP заголовок некорректен при постинге с django axios

Я получаю ошибку 403 Forbidden при выполнении почтового запроса с помощью axios к django.

CSRF Failed: CSRF token from the 'X-Csrftoken' HTTP header incorrect.

Я использую сеансовую аутентификацию. GET-запросы работают нормально, но POST-запросы отклоняются!

Вот мои настройки:

PROTOCOL = "https://" if PRODUCTION else "http://"
SESSION_COOKIE_DOMAIN = ".mywebsite.com"
CSRF_COOKIE_NAME = "csrftoken"
CSRF_USE_SESSION = True
CSRF_TRUSTED_ORIGINS = [
    "http://localhost:3000",
    "https://mywebsite.com",
    "https://gestione.mywebsite.com",
    "https://api.mywebsite.com",
]

CORS_ALLOW_CREDENTIALS = True
CORS_ORIGIN_ALLOW_ALL = False
CORS_ALLOWED_ORIGINS = [
    f"{PROTOCOL}mywebsite.{EXT}",
    f"{PROTOCOL}api.mywebsite.{EXT}",
    f"{PROTOCOL}gestione.mywebsite.{EXT}",
    f"{PROTOCOL}admin.mywebsite.{EXT}",
    "http://127.0.0.1:3000",
    "http://localhost:3000",
]
CORS_ALLOWED_ORIGIN_REGEXES = [
    r"^https://\w+\.mywebsite\.com$",
    r"^http://\w+\.mywebsite\.local$",
]

if PRODUCTION:
    SESSION_COOKIE_SECURE = True

MIDDLEWARE = [
    "django_hosts.middleware.HostsRequestMiddleware",
    "django.middleware.security.SecurityMiddleware",
    "django.contrib.sessions.middleware.SessionMiddleware",
    "corsheaders.middleware.CorsMiddleware",
    "django.middleware.csrf.CsrfViewMiddleware",
    "django.middleware.common.CommonMiddleware",
    "django.middleware.csrf.CsrfViewMiddleware",
    "django.contrib.auth.middleware.AuthenticationMiddleware",
    "django.contrib.messages.middleware.MessageMiddleware",
    "django.middleware.clickjacking.XFrameOptionsMiddleware",
    "django_hosts.middleware.HostsResponseMiddleware",
]

и моя конфигурация axios такова:

const api = axios.create({
  xsrfHeaderName: "X-CSRFToken",
  xsrfCookieName: "csrftoken",
  responseType: "json",
  withCredentials: true,
  baseURL: "https://api.mywebsite.com"
});

Что случилось?

Вернуться на верх