Chrome SameSite Cookieポリシーはインテグレーションにどのように影響しますか?

Google ChromeのSameSite Cookieポリシーの更新に伴い、一部の加盟店では、インテグレーションの特定の設定によりChromeブラウザでのリダイレクト3DS決済の処理に問題が発生しています。加盟店からは、次のような問題が報告されています。

  • 3DS1のリダイレクト
  • 3DS2のリダイレクト

Google ChromeのSameSite Cookieポリシーについて

Chrome 80以降の更新バージョンでは、Google Chromeはセキュリティで保護されたCookie分類システムを適用しています。つまり、SameSite属性のないCookieはPOSTリダイレクトコールバックに含まれません。SameSite値を宣言していないCookieには、デフォルト値「SameSite=Lax」が割り当てられます。「SameSite=None; Secure」に設定されているCookieのみが、セキュアな接続からアクセスされている場合に、サードパーティのコンテキストで使用可能になります。

これが私の統合に影響するかどうかはどうすればわかりますか?

これが統合に影響を与えるかどうかは、3DS1の処理中にCookieを使用して決済情報を保存するか、3DS2認証をリダイレクトするかによって異なります。一般的なユースケースは、たとえば、paymentData属性がCookieに格納されている場合です。

それを修正する方法は?

更新済みChromeブラウザでPOSTリダイレクトリクエストを処理できるよう、統合を検証することをおすすめします。ただし、古いブラウザでも処理できます。SameSiteフィールドは、古いブラウザだけでなく、SafariやFirefoxのブラウザでもまだ広くサポートされていないことに注意してください。

SameSiteを実装する方法 (web.dev/samesite-cookie-recipesより)

サードパーティのコンテキストで必要なCookieについては、SameSite=None; Secureとしてマークする必要があります。両方の属性を一緒に指定する必要があることに注意してください。Secureを指定せずにNoneだけを指定した場合、Cookieは拒否されます。しかし、ブラウザの実装には相互に互換性のない違いがあるため、以下の「互換性のないクライアントの処理」で説明している緩和策の一部を使用する必要がある場合があります。

Set-Cookie: third_party_var=value; SameSite=None; Secure

互換性のないクライアントの処理 (web.dev/samesite-cookie-recipesより)

Noneを含む、デフォルトの動作を更新するこれらの変更は比較的新しいため、こうした変更の処理方法についてはブラウザ間で統一されていません。現在分かっている問題については、chromium.orgの更新ページを参照してください。ただし、ここに記載されていない問題もある可能性があります。理想的な解決策ではありませんが、この移行時期に採用できる回避策があります。一般的なルールでは、互換性のないクライアントを特別なケースとして処理します。新しいルールを実装しているブラウザでは例外を作成しないでください。

第一の選択肢は、次のようにして新旧両方の形式のCookieを設定することです。

Set-cookie: 3pcookie=value; SameSite=None; Secure

Set-cookie: 3pcookie-legacy=value; Secure

新しい動作を実装するブラウザはSameSite値を持つCookieを設定しますが、その他のブラウザは無視するか誤った値を設定します。ただし、これらのブラウザは3pcookie-legacy Cookieを設定します。含まれているCookieを処理する際、サイトは最初に、新しい形式のCookieが存在するかをチェックし、見つからない場合は、従来のCookieにフォールバックします。

異なる言語の例 (github.com/GoogleChromeLabs/samesite-examplesより)

その他の便利なリンク

次のChromeドキュメントは、統合で変更が必要な場合に役立ちます。SameSite Cookieレシピシーケンス図付きのSameSite 3DSv1.0の例互換性のないクライアントの回避策などが記載されています。

新しい3DSフローのテストで、ソリューションが動作するかをチェックできない場合、実験用フラグを有効にし(chrome://flags)、「SameSite」という名前のすべての関数を「Enabled」に設定します。SameSite Cookieのテストとデバッグについてや、ChromeのSameSite Cookieを使用する統合に関するテストの実施方法の詳細は、ヒントを参照してください。

The illustration of support agent wearing a headset.

他にサポートが必要ですか?

サポートチームへの連絡

問題の詳細を画像やスクリーンショットを添えてお送りください。

リクエストを送信