Я сталкиваюсь с ошибкой CSRF token validation failed
при попытке выполнить запрос POST
на конечной точке, которая находится на другом сервере с использованием cors-anywhere
. Это происходит главным образом потому, что токен CSRF, который я передаю серверу cors, кэшируется и, следовательно, проверка не проходит.
Я прочитал следующее Переполнение стека ссылка - Аналогичная проблема
, Оказывается, моя проблема такая же, как в ссылке, но, поскольку эта ссылка не содержит никакого решения, я спрашиваю ее здесь.
Пожалуйста, помогите.
EDIT: -
$.ajax({
async: false,
crossDomain: true,
data: batch_request,
url: "https://cors-anywhere.herokuapp.com/https://......api.s4hana.ondemand.com:xxx/sap/opu/odata/sap/API_MKT_CONTACT_SRV;v=0002/$batch",
type: "POST",
beforeSend: function (xhr) {
xhr.setRequestHeader("Authorization", "Basic xxxxxxxxxxxxxxx");
xhr.setRequestHeader("X-CSRF-Token", "xxxxxxxxx");
xhr.setRequestHeader("Content-Type", "multipart/mixed;boundary=batch");
},
success:function(response) {
console.log("Succesfully added new contacts");
console.log(response);
},
error: function (error) {
console.log("Error");
console.log(error);
}
});
Я сделал вызов GET с использованием POSTMAN и получил токен CSRF с сервера. На данный момент я жестко закодировал токен в вызове AJAX. Когда я это делаю, я получаю следующую ошибку: