我正在使用 Laravel 8,并且一直在尝试遵循SPA 身份验证的 sainttum 文档。我已经完成了所需的必要配置设置。后端服务器在默认端口 (80) 的 localhost 上运行,而 SPA 客户端在 localhost:3000 上运行。我正在使用 nuxt 框架为带有 axios 的客户端发出请求。
应向 /sanctum/csrf-cookie 发出初始请求以初始化 CSRF 保护 cookie,以下是网络流量显示的内容
第二个请求是实际请求,应包含第一个域请求发送的 cookie,但看起来 XSRF-TOKEN 被跳过。网络流量如下所示
sainttum.php 配置文件:
<?php
return [
'stateful' => explode(',', env(
'SANCTUM_STATEFUL_DOMAINS',
'localhost,localhost:3000,127.0.0.1,127.0.0.1:8000,::1'
)),
'expiration' => null,
'middleware' => [
'verify_csrf_token' => App\Http\Middleware\VerifyCsrfToken::class,
'encrypt_cookies' => App\Http\Middleware\EncryptCookies::class,
],
];
Run Code Online (Sandbox Code Playgroud)
cors.php 配置文件:
<?php
return [
'paths' => ['api/*', 'sanctum/csrf-cookie'],
'allowed_methods' => ['*'],
'allowed_origins' => ['*', 'localhost:3000'],
'allowed_origins_patterns' => [],
'allowed_headers' => ['*'],
'exposed_headers' => …Run Code Online (Sandbox Code Playgroud)