Axios django 403 (запрещено): CSRF Failed: CSRF-токен отсутствует
У меня есть проект Django-React. Я не могу POST или PUT API спереди; я получаю ошибку 403 forbidden каждый раз, когда я делаю запрос, только когда я запрашиваю с обратной стороны. Я постоянно получаю одно и то же 'CSRF Failed: CSRF token missing.' сообщение. До этого все работало, пока я не запустил 'npm i' для обновления отсутствующих зависимостей. После этого все сломалось. Так что я уверен, что мой код правильный, так как он работал раньше, кто-нибудь знает, ломаются ли какие-либо зависимости нода? В заголовках запроса cookie генерируется csrftoken, не уверен, что это может вызвать проблему.
Вот как я объявляю свой аксиос на фронте:
constructor() {
// Necessary Credentials
axios.defaults.xsrfCookieName = 'csrftoken';
axios.defaults.xsrfHeaderName = 'X-CSRFToken';
axios.defaults.withCredentials = true;
// Establish Axios Client
this.client = axios.create({
baseURL : "http://127.0.0.1:8000"
});
};
Вот некоторые из моих настроек в файле settings.py, которые могут быть полезны:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'corsheaders',
'rest_framework',
'API.apps.UserApiConfig'
]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'corsheaders.middleware.CorsMiddleware',
]
CORS_ALLOW_CREDENTIALS = True
CORS_ORIGIN_WHITELIST = [
'http://localhost:3000',
'http://127.0.0.1:3000',
]
CSRF_TRUSTED_ORIGINS = ['http://127.0.0.1:3000']
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticated',
),
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.SessionAuthentication',
),
}
Пробовал откатиться на некоторую версию nodejs. Ничего не работает