Я получаю сообщение об ошибке, когда запрашиваю свой бэкэнд Laravel с Axios
, получаю данные обратно и запрашиваю другой API для некоторых данных, и это хорошо, но после того, как API возвращает данные, и я запрашиваю свой бэкэнд laravelхранить данные. Он возвращает ответ с
app.js: 360 POST http://technotrace.tech/session-adding-api 419 (неизвестный статус)
Я пытался проверить мой бэкэнд PHP иэто останавливается, только если я отключаю группу промежуточного программного обеспечения VerifyCSRFToken
.
Но мне все равно нужно проверить токен CSRF по соображениям безопасности.
Я могу понять, почему токен csrfизменяется при отправке запроса.
Если я просто отправляю запрос на мой сервер Laravel, то все идет хорошо, но когда я запрашиваю другой API, возникает проблема при отправке запроса на мой сервер.
function addSession(url, formdata) {
//Add Session
axios.post(url, formdata)
.then(res => {
console.log(res)
var data = res.data;
if ((data.session_info != null && data.session_info != {})) {
console.log(data.session_info);
}
})
.catch(err => {
console.error(err);
})
}
function getApiDetails() {
//Start getting api details
axios.get('https://ipapi.co/json/').then(res => {
console.log(res)
var csrf = jr('meta[name="csrf-token"]').get(0).content;
var ses_id = jr('meta[name="verify-token"]').get(0).content;
var cur_url = jr('link[rel="canonical"]').get(0).href;
// console.log(csrf, ses_id, cur_url);
var url = '/session-adding-api';
var formdata = new FormData();
formdata.append('_token', csrf);
formdata.append('session_token', ses_id);
formdata.append('session_repeat', 0);
formdata.append('current_url', cur_url);
Object.entries(res.data).forEach(entry => {
// console.log(entry[0], entry[1]);
formdata.append(entry[0], entry[1]);
});
addSession(url, formdata);
})
.catch(err => {
console.error(err);
})
//End getting api details
}
function matchSession() {
//Match Session Start
var csrf = jr('meta[name="csrf-token"]').get(0).content;
var ses_id = jr('input[name="verify-token"]').get(0).content;
var url = '/session-matching-api';
var formdata = new FormData();
formdata.append('_token', csrf);
formdata.append('session_token', ses_id);
axios.post(url, formdata)
.then(res => {
console.log(res)
var data = res.data;
if ((data.match != true)) {
getApiDetails()
}
})
.catch(err => {
console.error(err);
})
//Match Session
}
matchSession();