Django + React Axios Сетевая ошибка: Access-Control-Allow-Credentials expected 'true'
Я работаю над веб-приложением, использующим React на фронт-энде и Django на бэк-энде, и столкнулся с проблемой при отправке api-запросов на бэк-энд. При попытке выполнить POST или GET-запрос на сайте выскакивает ошибка Axios Network Error следующего содержания:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost:8000/is_authenticated/. (Reason: expected ‘true’ in CORS header ‘Access-Control-Allow-Credentials’).
Тем не менее, при просмотре сетевого запроса в Firefox, JSON-ответ действительно содержит корректные данные и имеет статус 200 OK. Только появляется предупреждение "Response body is not available to scripts (Reason: CORS Missing Allow Credentials)".
Мои текущие настройки бэкенда с использованием CorsMiddleware таковы
INSTALLED_APPS = [
...
'app',
'corsheaders',
'rest_framework',
...
]
MIDDLEWARE = [
...
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
...
]
CORS_ALLOW_CREDENTIALS: True
CSRF_COOKIE_SECURE = False,
CORS_ORIGIN_ALLOW_ALL = False
CORS_ALLOWED_ORIGINS = [
'http://127.0.0.1:3000',
'http://127.0.0.1:8000',
'http://localhost:3000',
'http://localhost:8000',
]
При отправке запроса у меня есть текущий вызов axios post call.
axios.post(`http://localhost:8000/login/`, request, { withCredentials: true })
.then(({ data }) => {
if (data.warning) return;
localStorage.setItem("currentUser", data.user);
});
Есть ли настройка, которую я упускаю из виду, или конкретная ошибка в моем коде? Или есть определенные внешние настройки на Axios, которые мне нужно обновить, чтобы разрешить учетные данные? Спасибо за помощь.
Упс, это стыдно, но после того, как я бился головой около 4 часов. понял, что сделал Cors-Allow-Credentials: True
вместо Cors-Allow-Credentials = True
.