Vuejs アプリは Cookie ヘッダーを設定しません。laravel アプリをポート 8000 で実行し、vuejs アプリをポート 8080 で実行しており、認証に fortify を使用しています。vuejs アプリが laravel アプリと同じディレクトリにありません また、chrome の [Network] タブに、このエラーが表示されます。これらは私の構成です。.env
SESSION_DRIVER=cookie
SESSION_LIFETIME=120
SESSION_DOMAIN=localhost
SANCTUM_STATEFUL_DOMAINS=http://localhost:8080
cors.php
'paths' => ['api/*', '/sanctum/csrf-cookie','/login','/register'],
'allowed_methods' => ['*'],
'allowed_origins' => ['*'],
'allowed_origins_patterns' => [],
'allowed_headers' => ['*'],
'exposed_headers' => [],
'max_age' => 0,
'supports_credentials' => true,
カーネル.php
'api' => [
\Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
'throttle:api',
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
ビューjs
私は Vue を初めて使用し、これが axios を使用する最良の方法ではないことを知っていますが、今のところ、ログインできるようにしようとしています。
async login() {
try {
this.token = await axios.get("//localhost:8000/sanctum/csrf-cookie",{
headers: {
Accept: "application/json",
},
withCredentials: true,
});
this.result = await axios.post(
"//localhost:8000/login",
{ email: this.email, password: this.password },
{
headers: {
Accept: "application/json",
},
withCredentials: true,
}
);
} catch (error) {
console.log(error);
}
},
}
2 日間、この問題に関する stackoverflow のすべての投稿を読みましたが、まだ解決できていません。