Flask CSRF: отсутствует токен сеанса CSRF - PullRequest
0 голосов
/ 14 октября 2019

Кто-нибудь может подсказать мне, как использовать защиту Flask-WTF CSRF при использовании Fetch? Документы API, кажется, не ясно, что делать с токеном CSRF, сгенерированным для запроса

Я продолжаю получать эту ошибку

The CSRF session token is missing.

и мой код JavaScript:

let payload = {
            // some data,
          "X-CSRFToken": csrf_token
          }

    let header = {   'content-type': 'application/json','accept': 'application/json',"X-CSRFToken": csrf_token}
    paypal.Buttons({

        createOrder: function(data, actions) {
                    return fetch(prefix.concat("/payment/paypalCreate"), {
                      method: "POST",
                      headers: header ,
                      body:JSON.stringify(payload),
                      credentials: 'same-origin',
                      })
                        .then(function(res) {
                            return res.json();
                        }).then(function(data) {
                          console.log(typeof(data))
                            return data.id
                        })
                    .catch(err => {
                      console.log(err);
                    });
            }

1 Ответ

0 голосов
/ 14 октября 2019

используйте CSRF от Flask_cors и оберните ваше приложение в это. Вам не нужно будет явно использовать csrf_token. См. FLASK-CORS для использования.

...