Проверка происхождения не удалась - http://localhost:8000/ не соответствует ни одному доверенному источнику.

Я столкнулся с проблемой CORS при POST-запросе формы входа с сервера React dev на мой бэкэнд django, где я использую модуль LOginView от Django для API запросов входа. Вот мои настройки для settings.py

CORS_ALLOW_METHODS = (
    "DELETE",
    "GET",
    "OPTIONS",
    "PATCH",
    "POST",
    "PUT",
)
CORS_ALLOW_HEADERS = (
    "accept",
    "authorization",
    "content-type",
    "user-agent",
    "x-csrftoken",
    "x-requested-with",
)
CORS_ALLOWED_ORIGINS =  [
     'http://localhost:3000',  
]


CORS_TRUSTED_ORIGINS = [
     'http://localhost:3000',  
]
CSRF_TRUSTED_ORIGINS = [
     'http://localhost:3000', 
]
CORS_ORIGINS_WHITELIST = [
     'http://localhost:3000',  
]

а для react я реализую прокси в package.json

"proxy": "http://localhost:8000/",

Мой api для получения токена пользователя работает нормально, но я считаю, что что-то не так с проверкой CSRF.

Я уже пробовал настройки, указанные в документации: https://pypi.org/project/django-cors-headers/. и кто-то столкнулся с подобной проблемой на форуме https://forum.djangoproject.com/t/origin-checking-failed-with-ssl-https/20158/13

Ошибка, которую вы получаете, связана с http://localhost:8000/, но вы добавляете http://localhost:3000 в настройки, просто измените порт на 8000, и все будет в порядке

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