Wie wirkt sich die SameSite Cookie-Richtlinie von Chrome auf meine Integration aus?

Nach der SameSite-Cookie-Policy-Aktualisierung von Google Chrome haben einige Händler Probleme bei der Verarbeitung von umgeleiteten 3DS-Zahlungen im Chrome-Browser festgestellt, die auf eine spezifische Konfiguration Ihrer Integration zurückzuführen sind. Händler haben folgende Probleme berichtet:

  • 3DS1-Redirects
  • 3DS2-Redirects

Über die SameSite-Cookie-Richtlinie von Google Chrome

In der aktualisierten Version von Chrome 80 und höher erzwingt Google Chrome ein Klassifizierungssystem für Secure-by-default-Cookies. Das bedeutet, dass Cookies ohne SameSite-Attribut nicht in einem POST-Redirect-Callback enthalten sein werden. Cookies, die keinen SameSite-Wert deklarieren, wird der Standardwert „SameSite=Lax“ zugewiesen. Nur Cookies mit dem Wert „SameSite=None; Secure“ sind in Drittanbieter-Kontexten verfügbar, sofern auf Sie über eine sichere Verbindungen zugegriffen wird. 

Wie stelle ich fest, ob sich dies auf meine Integration auswirkt?

Ob dies Auswirkungen auf Ihre Integration hat, hängt davon ab, ob Sie Cookies verwenden, um Zahlungsinformationen während der Verarbeitung von 3DS1-Autorisierungen zu speichern oder um 3DS2-Autorisierungen umzuleiten. Ein von uns häufig beobachteter Anwendungsfall ist z. B. das PaymentData-Attribut, das in den Cookies gespeichert wird.

Wie kann dies behoben werden?

Wir empfehlen Ihnen, Ihre Integration dahingehend zu prüfen, ob Sie POST-Redirect-Requests im aktualisierten Chrome-Browser bearbeiten können, aber gleichzeitig sicherstellen, dass diese auch in älteren Browsern bearbeitet werden können. Bitte beachten Sie, dass das SameSite-Feld in älteren Browsern, sowie in Safari und Firefox, noch nicht umfassend unterstützt wird.

Implementierung von SameSite (durch web.dev/samesite-cookie-recipes)

Bei Cookies, die in einem Drittanbieter-Kontext benötigt werden, müssen Sie sicherstellen, dass Sie als SameSite=None; Securegesichert sind. Beachten Sie bitte, dass Sie beide Attribute benötigen. Wenn Sie nur None ohne Secure festlegen, wird das Cookie abgelehnt. Es gibt jedoch einige gegenseitig inkompatible Unterschiede in den Browser-Implementierungen, sodass Sie möglicherweise einige der in dem folgenden Abschnitt Umgang mit inkompatiblen Clients beschriebenen mildernden Strategien anwenden müssen.


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


Umgang mit inkompatiblen Clients (von web.dev/samesite-cookie-recipes)

Da es relativ neu ist None miteinzubeziehen und da auch das aktualisierte Standardverhalten ein relativ neuer Vorgang ist, gibt es Inkonsistenzen zwischen den Browsern, wie diese Änderungen behandelt werden sollen. Sie können sich auf die  Aktualisierungsseite auf Chromium.org für die derzeit bekannten Probleme beziehen, auch wenn diese jedoch nicht erschöpfend ist. Auch wenn dies nicht ideal ist, können Sie diese Behelfslösungen während der Übergangsphase einsetzen. Die allgemeine Regel ist es jedoch, inkompatible Clients als Sonderfall zu behandeln. Schaffen Sie keine Ausnahmen für Browser, welche die neueren Regelungen umsetzen.

Die erste Option besteht darin, sowohl die Cookies im neuen als auch im alten Stil zu setzen:


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

Browser, die das neuere Vorgehen implementieren, werden das Cookie mit dem SameSite -Wert setzen, während ältere Browser es möglicherweise ignorieren oder falsch einstellen. Jedoch werden die gleichen Browser den 3pcookie-legacy -Cookie einstellen. Bei der Verarbeitung von Cookies sollte die Seite zunächst das Vorhandensein der neuartigen Cookies prüfen und, falls diese nicht gefunden werden, auf alte Cookies zurückgreifen.


Beispiele in verschiedenen Programmiersprachen (von github.com/GoogleChromeLabs/samesite-examples)

Andere nützliche Links

Die folgenden Dokumente von Chrome können Sie dabei unterstützen, falls Sie Änderungen innerhalb Ihrer Integration vornehmen müssen: SameSite Cookie RecipesSameSite 3DSv1.0 examples with sequence diagrams und Working around incompatible clients

Wenn Sie versuchen, Ihren neuen 3DS-Flow zu testen, und nicht überprüfen können, ob Ihre Lösung funktioniert, aktivieren Sie bitte die „Experimental Flags“ (chrome://flags) und setzen Sie alle Funktionen mit dem Namen „SameSite“ auf „Enabled“. Weitere Informationen zum Testen von Integrationen unter der Verwendung der SameSite-Cookies von Chrome finden Sie unter Tipps fürs Testen und Debugging von SameSite-Cookies.

War dieser Beitrag hilfreich?
9 von 12 fanden dies hilfreich