我尝试使用来自不同域的 axios 登录。 我的核心位于“mydomain.com”,反应站点位于“seconddomain.com”。 如果我尝试使用 axios API 请求从 secondarydomain.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 扩展
- Tokenizer PHP 扩展
- XML PHP 扩展
检查服务器要求文档
我遇到了同样的问题,我解决了在 axios create 中添加“withXSRFToken: true”的问题。