Django csrf token + react
Я использую django для моего API и react для моего frontend приложения. Моя проблема в том, что я не знаю, как получить csrf token, который необходим для отправки формы входа (мне не нужна форма регистрации, только несколько пользователей). Вот код для обработки /accounts/login :
from django.contrib.auth import authenticate, login
from django.http import JsonResponse
from json import loads
def login_user(request):
body_unicode = request.body.decode('utf-8')
body = loads(body_unicode)
username = body['username']
pwd = body['pwd']
user = authenticate(request, username=username, password=pwd)
try:
if user.is_authenticated:
login(request, user)
email = User.objects.get(username=username).email
return JsonResponse({"username":username, \
"pwd":pwd, \
"email":email }, \
status=200)`
except Exception as expt:
return JsonResponse({"error": str(expt)}, status=401)
В моем приложении react я пытаюсь сделать запрос на ведение журнала /accounts/login, используя заголовок X-CSRFToken и токен csrf, полученный функцией getCookie() (найдено здесь), но он всегда null, а ответ всегда отклоняется с кодом состояния 403.
Не могли бы вы показать мне, как я могу справиться с этой ситуацией? (Я не хочу использовать csrf_exempt, который создает проблемы с безопасностью).