我将 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
在 Routes/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,
有人可以帮帮我吗?