Laravel の Sanctum を使用したバックエンド API と、NuxtJS の別のリポジトリ SPA を使用しています。
Sanctum で SPA を確認しようとしています。 Sanctum のドキュメントに従って、ブラウザーで CSRF Cookie を取得しようとしています。問題は、Sanctum が提供する CSRF トークン エンドポイントを呼び出すと、正しい応答が返されますが、Cookie が設定されていないことです。以上です、エラーはありません。 nuxt auth を使用したいのか、それとも単なる古い axios 呼び出しを使用したいのかは関係ありません。
これが私が持っているものです:
ドメイン名: API -publisher.local:8080; フロントエンド-publisher.local:3000
NUXT認証構成
リーリー
AXIOS構成リーリー
神聖な.phpリーリー
セッション.phpリーリー
これらの設定のさまざまな組み合わせやバリエーションを試しましたが、どれも機能しませんでした。何が問題なのか知っていますか?
これで理解できたと思います。うまくいきました。
つまり、
.local
はトップレベル ドメインにはなれません。それが問題の一部である可能性があると思いますが、よくわかりません。ドメイン名を古い
localhost
に変更すると問題は解決しますが、この解決策には問題があります。何らかの理由はわかりませんが、どのエンドポイントを呼び出しても、API を呼び出すと XSRF Cookie が自動的に取得されます。奇妙さ。最も効果的な方法は、ドメイン名を
api.publisher.com
およびpublisher.com
に変更し、Sanctum ドキュメント内のすべての設定を変更することです。ドメイン名が一致し、正しく設定されていることを確認するために、ドメイン名には特に注意してください。これを再構成するのは非常に簡単ですが、診断するのは困難です。
###それが役に立てば幸い!