топор ios .get / airlock / csrf-cook ie не действует в laravel 7 - PullRequest
0 голосов
/ 17 марта 2020

Я использую 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 Ответ

0 голосов
/ 18 марта 2020

Это потому, что вы уже попали в домен при загрузке ослов для вашего приложения SPA (HTML / JS / CCS), и в этот момент была инициализирована защита Laravel CSRF.

Представьте, что у вас есть API в другом домене, вам необходимо инициализировать защиту CSRF с помощью вызова get /airlock/csrf-cookie

...