Реакция: Как получить токен Django CSRF, если CSRF_TOKEN_HTTPONLY истинно?

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

0 ответов

Если вы включите токен 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: {}
})
Другие вопросы по тегам