-
Notifications
You must be signed in to change notification settings - Fork 710
Chrome80のSameSiteの影響で3Dセキュア等を利用する場合に購入に失敗する #4457
Description
概要(Overview)
Chrome80から導入されるSameSiteの影響で、3Dセキュア等を利用した決済でエラーとなる
原因)
外部ドメインからEC-CUEBサイトのドメインにPOSTで遷移したときに、
「EC-CUBEサイトで設定したCookie」がEC-CUBEサイトのサーバーに送信されないため。
例えば、リンク型や3Dセキュアなどで外部のページから、EC-CUBEサイトへ帰ってくる時に
期待するCookieが送信されなくなり、エラーとなる。
実際に、EC-CUBE2~4すべてにおいて以下のような事象が発生する可能性がある。
(EC-CUBEのセッション情報のCookieが送信されないため)
・決済完了画面が表示される、エラーとなる。
・決済完了画面は表示されるが、ログアウトされた状態となる。
・決済完了画面は表示されるが、カートの中身がクリアされない。
etc
期待する内容(Expect) or 要望 (Requirement)
3Dセキュアなどでも正常に購入される
再現手順(Procedure)
Chrome79でも以下の2つの設定を(chrome://flags)でEnableにすることで
確認することができます。
SameSite by default cookies
Cookies without SameSite must be secure
ただし、Cookieが生成されてから2分間は救済措置により影響は発生しません。
(ログインしてから2分以上、十分に時間を空けてから確認する必要があります。)
すでに、ベリトランス様より、事象の確認を報告いただいております。
関連情報 (Ref)
・新しい Cookie 設定 SameSite=None; Secure の準備を始めましょう
https://developers-jp.googleblog.com/2019/11/cookie-samesitenone-secure.html
・SameSite Frequently Asked Questions (FAQ)
https://www.chromium.org/updates/same-site/faq
・Cookies default to SameSite=Lax - Chrome Platform Status
https://www.chromestatus.com/feature/5088147346030592
・SameSite cookies explained - wev.dev
https://web.dev/samesite-cookies-explained/
・SameSite cookie recipes - web.dev
https://web.dev/samesite-cookie-recipes/
・Chrome 80が密かに呼び寄せる地獄 ~ SameSite属性のデフォルト変更を調べてみた
https://qiita.com/ahera/items/0c8276da6b0bed2b580c
・Effect on customer websites and Microsoft services and products in Chrome version 80 or later
https://docs.microsoft.com/en-us/office365/troubleshoot/miscellaneous/chrome-behavior-affects-applications