我正在 Laravel 中验证 API 请求,它在本地运行良好,但是当我同时部署两者(Firebase 上的 React,不同域上的 Laravel)时,API 身份验证停止工作。这...
我正在 Laravel 中验证 API 请求,并且它在本地运行良好,但是当我同时部署两者(Firebase 上的 React,不同域上的 Laravel)时,API 身份验证停止工作。
这是 app/Http/Kernel.php
protected $middlewareGroups = [
'api' => [
\Fruitcake\Cors\HandleCors::class,
// \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
'throttle:api',
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
];
这是 config/cors.php
'paths' => ['api/*', 'sanctum/csrf-cookie'],
'allowed_methods' => ['*'],
'allowed_origins' => ['http://localhost:3000', 'https://example.web.app'],
'allowed_origins_patterns' => [],
'allowed_headers' => ['*'],
'exposed_headers' => [],
'max_age' => 0,
'supports_credentials' => true,
当我使用 axios 从 React 发出请求时出现 401 错误。
我向 ChatGPT 询问并搜索了很多,但没有用。
我想要向 Laravel 发出请求并使用不同域的 sanctum 对其进行身份验证。
///////////////// 更新 ///////////////////
我切换到 JWT 身份验证,因为 @jurandou 提到它 laravel/sanctum
不支持来自不同域的 API 授权。