0
  • 气闸版本:1.0.0
  • Laravel 版本:7.0.0
  • PHP版本:7.2.0
  • 数据库驱动和版本:MySql 5.7.23

描述:

我尝试使用来自不同域的 axios 登录。我在“mydomain.com”中有核心,在“seconddomain.com”中有反应站点。如果我尝试使用 axios API 请求从 seconddomain.com 登录到 mydomain.com,它工作正常,也没有 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 - 登录调用 在此处输入图像描述

4

1 回答 1

0

我认为你的问题是PHP version.

为了使用laravel-7 ,您需要确保您的服务器满足以下要求:

  • PHP >= 7.2.5
  • BCMath PHP 扩展
  • Ctype PHP 扩展
  • 文件信息 PHP 扩展
  • JSON PHP 扩展
  • Mbstring PHP 扩展
  • OpenSSL PHP 扩展
  • PDO PHP 扩展
  • 标记器 PHP 扩展
  • XML PHP 扩展

检查服务器要求文档

于 2020-03-17T12:51:37.837 回答