ホームページ  >  に質問  >  本文

Laravel Sanctum と NuxtJS SPA がブラウザーで csrf Cookie を作成できない

Laravel の Sanctum を使用したバックエンド API と、NuxtJS の別のリポジトリ SPA を使用しています。

Sanctum で SPA を確認しようとしています。 Sanctum のドキュメントに従って、ブラウザーで CSRF Coo​​kie を取得しようとしています。

問題は、Sanctum が提供する CSRF トークン エンドポイントを呼び出すと、正しい応答が返されますが、Cookie が設定されていないことです。以上です、エラーはありません。 nuxt auth を使用したいのか、それとも単なる古い axios 呼び出しを使用したいのかは関係ありません。

これが私が持っているものです:

ドメイン名: API -publisher.local:8080; フロントエンド-publisher.local:3000

NUXT認証構成

リーリー

AXIOS構成

リーリー

神聖な.php

リーリー

セッション.php

リーリー

これらの設定のさまざまな組み合わせやバリエーションを試しましたが、どれも機能しませんでした。何が問題なのか知っていますか?

P粉512363233P粉512363233285日前496

全員に返信(1)返信します

  • P粉311563823

    P粉3115638232023-12-14 00:56:05

    これで理解できたと思います。うまくいきました。

    つまり、.local はトップレベル ドメインにはなれません。それが問題の一部である可能性があると思いますが、よくわかりません。

    ドメイン名を古い localhost に変更すると問題は解決しますが、この解決策には問題があります。何らかの理由はわかりませんが、どのエンドポイントを呼び出しても、API を呼び出すと XSRF Coo​​kie が自動的に取得されます。奇妙さ。

    最も効果的な方法は、ドメイン名を api.publisher.com および publisher.com に変更し、Sanctum ドキュメント内のすべての設定を変更することです。

    ドメイン名が一致し、正しく設定されていることを確認するために、ドメイン名には特に注意してください。これを再構成するのは非常に簡単ですが、診断するのは困難です。

    ###それが役に立てば幸い!

    返事
    0
  • キャンセル返事