axios.get /airlock/csrf-cookie не действует в laravel 7
Я использую авторизацию воздушного шлюза laravel в своем проекте SPA.
Согласно документации https://laravel.com/docs/master/airlock, для входа в систему необходим приведенный ниже код:
axios.get('/airlock/csrf-cookie').then(response => {
// Login...
});
Однако, когда я прокомментировал код, сценарий входа все еще может получить доступ к контроллеру API.
Это мой код ниже:
// axios.get('/airlock/csrf-cookie').then(response => {
axios.post('api/login', {
email: this.email,
password: this.password
})
.then(response => {
console.log(response);
})
.catch(error => {
self.errors.push(error.response.data.message)
});
// })
Какая польза от axios.get('/airlock/csrf-cookie')
тогда?
1 ответ
Это потому, что вы уже попали в домен при загрузке задниц для вашего приложения SPA (HTML/JS/CCS), и в этот момент была инициализирована защита Laravel CSRF.
Представьте, что у вас есть свой API в другом домене, тогда вам необходимо инициализировать защиту CSRF с помощью вызова /airlock/csrf-cookie