Laravel sanctum Laravel sanctum SPA-此设置cookie域属性对于当前主机url无效
我有一个VueJS应用程序和一个Laravel API在不同的项目中。 我有一些问题要和拉雷维尔圣殿一起解决。 我的VueJs在localhost:8080上,我的API在localhost:8000上 当我尝试设置cookie时,我遇到了“此设置cookie域属性对于当前主机url无效”的问题 我认为laravel无法设置cookie,当我尝试验证时,他返回了419错误状态,这意味着令牌不匹配 My config/cors.phpLaravel sanctum Laravel sanctum SPA-此设置cookie域属性对于当前主机url无效,laravel-sanctum,Laravel Sanctum,我有一个VueJS应用程序和一个Laravel API在不同的项目中。 我有一些问题要和拉雷维尔圣殿一起解决。 我的VueJs在localhost:8080上,我的API在localhost:8000上 当我尝试设置cookie时,我遇到了“此设置cookie域属性对于当前主机url无效”的问题 我认为laravel无法设置cookie,当我尝试验证时,他返回了419错误状态,这意味着令牌不匹配 My config/cors.php 'paths' => [ 'api
'paths' => [
'api/*',
'sanctum/csrf-cookie',
'login',
'logout'
],
'allowed_methods' => ['*'],
'allowed_origins' => ['*'],
'allowed_origins_patterns' => [],
'allowed_headers' => ['*'],
'exposed_headers' => [],
'max_age' => 0,
'supports_credentials' => true,
我遵循laravel文档
将这些行添加到我的app/Http/Kernel.php
use Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful;
'api' => [
EnsureFrontendRequestsAreStateful::class,
'throttle:api',
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
我在vue应用程序中激活了axios凭据
axios.defaults.withCredentials = true;
我设置我的会话\ u DOMAIN=localhost:8080
在my VueJS登录组件中:
axios
.get('/sanctum/csrf-cookie')
.then(response => {
axios.post('/login', {
email : 'alexandria96@example.com',
password : 'password'
}).then(response => {
console.log('User signed in!');
}).catch(error => console.log(error)); // credentials didn't match
});
对csrf cookie的请求
登录请求
登录之前,您必须检查cookie是否已设置。您的cookie未设置,这就是您出现419错误的原因。 尝试从配置中删除端口。 试一试 现在检查一下饼干。对我来说很有用
SESSION_DOMAIN=localhost
SANCTUM_STATEFUL_DOMAINS=localhost