【发布时间】:2021-10-22 17:40:50
【问题描述】:
-
圣所版本:2.11.2
-
Laravel 版本:8.55.0
-
PHP 版本:7.4.20
-
Laravel 正在运行:http://127.0.0.1:8000
-
前端(vue)运行在:http://localhost:3000
我将所有以下内容放在我的 .env 文件中
COOKIE_SAME_SITE_POLICY=strict
SESSION_SECURE_COOKIE=false
SESSION_DOMAIN='.127.0.0.1'
SANCTUM_STATEFUL_DOMAINS='.localhost,.localhost:3000,127.0.0.1,127.0.0.1:8000,::1'
当我尝试从不同的域进行身份验证时,它会给出 419 错误 CSRF 令牌不匹配,第一个必须设置 cookie 的请求“http://127.0.0.1:8000/sanctum/csrf-cookie”没有设置但是,如果我在 laravel 实例中尝试相同的请求,它会设置 cookie 并按预期工作
每个相同的请求如何在邮递员中成功设置 cookie
复制步骤:
- 安装 laravel “composer create-project laravel/laravel sanctum”
- 从 /config/cors.php 将
'supports_credentials' => false,更改为'supports_credentials' => true, - 在 "http://localhost:3000" 上设置 vue 应用并向 "http://127.0.0.1:8000/sanctum/csrf-cookie" 发送请求,它不会设置 cookie。李>
【问题讨论】:
标签: php laravel laravel-sanctum