異なるドメインの API から Cookie を発行する場合、Safari iOS の「クロスサイトトラッキングを防ぐ」オプションを回避する方法はありますか? 質問する

異なるドメインの API から Cookie を発行する場合、Safari iOS の「クロスサイトトラッキングを防ぐ」オプションを回避する方法はありますか? 質問する

「クロスサイトトラッキングを防止する」オプションを有効にしたまま(デフォルトで有効になっているため、すべてのユーザーがオンになります)、Angular アプリとは異なるドメインにあるバックエンド API から CORS Cookie を発行できる回避策はありますか?

私のアプリケーションフローは次のとおりです。1.ユーザーがログインします。2.サーバーが認証し、JWTを発行し、JWTをHttpOnlyクッキー内に格納します。3.すべてのAngularリクエストには{withCredentials: true}

これは、Windows デスクトップ ブラウザーでは完全に正常に動作します。ただし、Safari iOS および Mac Safari にログインしようとすると、Cookie は保存されず、後続のリクエストでも送信されません。

「クロスサイトトラッキングを防ぐ」オプションを無効にすると機能することが分かりましたが、すべてのユーザーがこのオプションを無効にしてアプリを使用することは期待できません。

現時点でこれに対する回避策はありますか?

ベストアンサー1

ウェブサイトとAPIを同じドメインに置くことをお勧めします。例:https://web.mydomain.comそしてhttps://api.mydomain.comこれを実装するのはそれほど難しくないはずです。設定を変更せずに iOS 上の Safari でこれを強制的に許可する簡単な技術的ソリューションをオンラインでまだ見つけていません。

おすすめ記事