在开始之前,我想说我搜索并尝试了很多方法,但似乎没有一个能正常工作。我还创建了一个新的 Laravel 安装,但仍然没有成功。
问题是 CORS,我总是被 CORS 阻止。
Laravel Valet.https://sanctum.testhttps://nuxt.sanctum.test这是全新安装。
我的.env文件具有所需的设置:
SESSION_DOMAIN=.sanctum.test
SANCTUM_STATEFUL_DOMAINS=sanctum.test,nuxt.sanctum.test
Run Code Online (Sandbox Code Playgroud)
我的cors.php有所需的设置:
SESSION_DOMAIN=.sanctum.test
SANCTUM_STATEFUL_DOMAINS=sanctum.test,nuxt.sanctum.test
Run Code Online (Sandbox Code Playgroud)
我的Http/Kernel.php
...
'supports_credentials' => true,
...
Run Code Online (Sandbox Code Playgroud)
我的 NuxtJs 应用程序在 http://localhost:3000 上运行,并且我有一个 Laravel Valet 反向代理,因此我可以从中访问它,https://nuxt.sanctum.test并且我可以确认它是否按预期工作。
这是我的nuxt.config.js:
...
'api' => [
EnsureFrontendRequestsAreStateful::class,
'throttle:api',
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
];
Run Code Online (Sandbox Code Playgroud)
现在,无论我做什么,我总是从 Laravel 应用程序中收到相同的错误:
Access to XMLHttpRequest at 'https://sanctum.test/sanctum/csrf-cookie' from origin 'https://nuxt.sanctum.test.test' has been blocked by CORS policy: Response to preflight request doesn't pass …Run Code Online (Sandbox Code Playgroud)