angular - サブドメイン A からの Cookie がサブドメイン B に送信されない

okwaves2024-01-25  10

dev.subdomain.mydomain.com でホストされているフロントエンド Angular アプリケーションがあります。アプリケーションは、dev.api.mydomain.com でホストされている .net CORE API に対して HTTP リクエストを作成します。私の Angular アプリケーションには、次のセキュリティ プロパティに関連付けられたセッション Cookie があります。

Secure=true
HttpOnly=true
SameSite=None
Domain=.mydomain.com

すべてのリクエストで Cookie がバックエンド サーバーに送信されるようにしたいのですが、何らかの理由でリクエストは Cookie なしで送信されます。

発信リクエストに withCredentials オプションを追加する Angular インターセプタを追加しました。

req = req.clone({
       headers: req.headers.set('Content-Type', 'application/json'),
       withCredentials: true
});

しかし、それも役に立ちませんでした。 Chrome と Firefox の両方でこれをテストしましたが、結果は同じでした。

更新: Cookie は最初の http リクエスト (Angular アプリケーションを取得するためにサーバーにアクセスする) で送信されますが、Ajax リクエストは httpClient を使用していることに気付きました。Cookie と一緒に送信されないようにします

更新 2: 次のヘッダーがプリフライト レスポンスに含まれるように API を設定しました。

Access-Control-Allow-Origin: https://dev.subdomain.mydomain.com
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: content-type,withcredentials
Access-Control-Allow-Methods: GET

Cookie がまだ送信されていません。

Cookie は実際にはフロントエンドでのみ使用する必要があります。サーバー側で Cookie を使って正確に何をしようとしているのですか?

– クリス

2020 年 9 月 3 日 19:43

これはセッション Cookie です。バックエンド セキュリティ システムを通じてユーザーを識別するために使用します

– mダック

2020 年 9 月 3 日 19:45

Oauth トークンは、Cookie を使用するよりもはるかに優れたソリューションではないでしょうか?

– クリス

2020 年 9 月 3 日 20:05

この icookie n と jwt トークンを組み合わせて使用​​します。私たちが機能させようとしているのはレガシー システムです私たちの回り道。私の問題は、Cookie をサーバーに送信する必要があることですが、これは珍しいシナリオではないと思います。

– mダック

2020 年 9 月 3 日 20:18

@mduck これに対する解決策は見つかりましたか?私も同様の問題に直面しています。

– sgk

2021 年 11 月 19 日 7:46



------------------------

フロントエンドと API の両方が *.mydomain.com の下にある場合、それらは同じサイトとしてカウントされる必要があります。つまり、SameSite=Lax である必要があります。いいですよ。

Chrome デベロッパー ツールを見ると、[問題] タブに、SameSite のデフォルトの影響を受けている Cookie や属性が正しく設定されていない Cookie が表示されるはずです。

[ネットワーク] タブで個別のリクエストを選択すると、そこで [Cookie] サブパネルを確認し、[フィルタリングされたリクエスト Cookie を表示] を有効にすることもできます。どの Cookie がドロップされたかを表示します。それらの上にマウスを置くと、その理由を説明するツールチップも表示されます。

詳細なデバッグガイドはこちら: https://www.chromium.org/updates/same-site/test-debug 動画バージョンはこちら: https://youtu.be/Fet6-IiX69E?t=516

総合生活情報サイト - OKWAVES
総合生活情報サイト - OKWAVES
生活総合情報サイトokwaves(オールアバウト)。その道のプロ(専門家)が、日常生活をより豊かに快適にするノウハウから業界の最新動向、読み物コラムまで、多彩なコンテンツを発信。