フロントエンドで Laravel Sanctum を使用して CSRF Cookie を生成できない
<p>最近、Nuxt 3 での認証に Laravel Sanctum を使用しようとしましたが、最初の CSRF Cookie ハンドシェイク中に問題が発生しました。問題は、<code>http://localhost:8000/sanctum/csrf-cookie</code> パスにリクエストを行った後、ブラウザーによって XSRF-TOKEN Cookie が設定されないことです。私は一週間この問題に悩まされていますが、インターネット上で解決策が見つかりません。
Axios と Fetch API を使用して XSRF-TOKEN を設定しようとしましたが、成功しませんでした。バックエンドで <code>http://localhost:8000</code> を使用し、フロントエンドで <code>http://localhost:3000</code> を使用しています。 Laravel Sanctum自体は、Postmanでテストするときにset-cookieヘッダーを受け取りますが、ブラウザーでは受け取らないため、正常に動作します。 <code>.env</code> ファイルに次のプロパティを設定します。</p>
<pre class="brush:php;toolbar:false;">FRONTEND_URL=http://localhost:3000
SESSION_DOMAIN=ローカルホスト:3000
SESSION_DRIVER=cookie</pre>
<p>フロントエンドでの CORS リクエストの制限を克服するためにあらゆる努力をしてきました。私のフェッチ関数は次のようになります: </p>
<pre class="brush:php;toolbar:false;">window.fetch('http://localhost:8000/sanctum/csrf-cookie', {
資格情報: '含む',
}).then((応答) => {
console.log(…response.headers)
})</pre>
<p>資格情報を「include」に設定すると問題を解決できると読みましたが、それでも XSRF-TOKEN を設定できません。資格情報を「同じオリジン」に設定しようとしましたが、それも機能しませんでした。この問題の解決方法を知っている人はいますか? </p>