Реакция: Как получить CSRF-токен Django, если CSRF_TOKEN_HTTPONLY истинно? - PullRequest
0 голосов
/ 18 ноября 2018

Я создаю приложение React для бэкэнда Django. В бэкэнде настройка безопасности CSRF_TOKEN_HTTPONLY установлена ​​на True. Как я могу получить этот токен csrf в приложении React? Документация описывает только то, как это сделать с помощью jquery. Я использую fetch API для моих запросов http.

1 Ответ

0 голосов
/ 09 декабря 2018

Если вы включите токен csrf в ваш HTML, как в документации , говорит:

{% csrf_token %}

Тогда вы можете просто получить токен следующим образом:

var csrftoken = document.querySelector("[name=csrfmiddlewaretoken]").value

И выполняйте ваши запросы с помощью Fetch API следующим образом:

fetch(url, {
    credentials: 'include',
    method: 'POST',
    mode: 'same-origin',
    headers: {
      'X-CSRFToken': csrftoken
    },
    body: {}
})
...