php - CSRF 令牌不匹配 laravel 气闸 axios
问题描述
- 气闸版本: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
);
解决方案
我认为你的问题是PHP version.
为了使用
laravel-7
,您需要确保您的服务器满足以下要求:
- PHP >= 7.2.5
- BCMath PHP 扩展
- Ctype PHP 扩展
- 文件信息 PHP 扩展
- JSON PHP 扩展
- Mbstring PHP 扩展
- OpenSSL PHP 扩展
- PDO PHP 扩展
- 标记器 PHP 扩展
- XML PHP 扩展
检查服务器要求文档
推荐阅读
- javascript - 使用键列表从 javascript 对象中删除元素
- php - 谷歌翻译问题与下拉
- git - 拉取请求后创建合并冲突
- regex - 有人可以帮忙吗 - 如何从 API 响应中提取令牌
- node.js - 引用的数组映射对象键
- powerbi - 在条件检查中用字符串替换空白值:DAX
- javascript - 奇怪的值开始在节点 URL 请求的查询字符串的开头插入
- hibernate - 尝试使用 Hibernate JPA 将记录保存到与另一个表相关的字段中具有空值的表时出错
- ruby-on-rails - 如何在 CoffeeScript 和 Rails 6 中调用函数?
- pip - 如何安装 Openyxl