我正在使用 Laravel Sanctum 和 Vuejs SPA。两者都驻留在同一顶级域中
Laravel backend : app.demo.localhost
Vue SPA : app-spa.demo.localhost
当使用 axios 从 VueJS SPA 调用并且 XSRF-TOKEN 已成功设置时,登录和注销(端点)工作正常,但是当我调用其他 api 端点时,它给我 401 未经授权。
在 axios 中,正在设置
axios.defaults.withCredentials = true;
我有以下配置
在 Laravel .env 中
SESSION_DRIVER=cookie
SESSION_DOMAIN=.demo.localhost
SANCTUM_STATEFUL_DOMAINS=app-spa.demo.localhost
在路由/Api.php中
Route::middleware('auth:sanctum')->get('api/user', function (Request $request) {
return $request->user();
});
在cors.php中
'paths' => ['api/*', 'sanctum/csrf-cookie', 'login', 'logout'],
'allowed_methods' => ['*'],
'allowed_origins' => ['*'],
'allowed_origins_patterns' => [],
'allowed_headers' => ['*'],
'exposed_headers' => [],
'max_age' => 0,
'supports_credentials' => true,
有人可以帮我吗?