Несоответствие токенов CSRF laravel airlock axios

  • Версия воздушного шлюза: 1.0.0
  • Версия Laravel: 7.0.0
  • Версия PHP: 7.2.0
  • Драйвер и версия базы данных: MySql 5.7.23

Описание:

Я пытаюсь войти в систему с помощью axios из другого домена. Я имею ядро ​​в mydomain.com и ответный сайт в seconddomain.com. Если я попытаюсь войти с seconddomain.com на mydomain.com с запросом API axios, он будет работать нормально, также без запроса CSRF-COOKIE. Но если я попытаюсь войти в систему с моей реакции "localhost:3000" на "mydomain.com", у меня будет "несоответствие токена CSRF". Почему?

Это моя конфигурация:

в сессии

'same_site' => "none",

конфигурация axios

axios.create({
  baseURL: "mydomain.com",
  withCredentials: true,
  responseType: "json",
});

Axios логин

await API.get('/airlock/csrf-cookie');
response = await API.post(
      '/api/v1/login',
      data
);

cookie из браузера - вызов csrf-cooke

cookie из браузера - вызов входа

1 ответ

Я думаю твоя проблема PHP version.

для использования laravel-7 вам нужно будет убедиться, что ваш сервер соответствует следующим требованиям:

  • PHP> = 7.2.5
  • BCMath расширение PHP
  • Расширение Ctype PHP
  • Fileinfo расширение PHP
  • Расширение JSON PHP
  • Расширение Mbstring PHP
  • Расширение OpenSSL PHP
  • Расширение PDO PHP
  • Расширение Tokenizer PHP
  • Расширение XML PHP

проверьте документацию по требованиям к серверу

Другие вопросы по тегам