Safari sendet auch nach dem Setzen von SameSite = None kein Cookie; Sichern

13

Unsere Anwendung verwendet Cookies, um sich an die Benutzeranmeldung zu erinnern. Bei jedem Authentifizierungs-API-Aufruf, den wir ausführen, hängt der Browser ein vom Server festgelegtes HTTPonly-Cookie an die API-Anforderung an und wird authentifiziert. Dieses Verhalten scheint in der Safari nach der Veröffentlichung von Mojave gebrochen zu sein.

Ich habe über die Cross-Site-Cookie-Sicherheit gelesen, die von Safari implementiert wurde, und unser Serverteam hat SameSite=None;Securebeim Setzen des Cookies hinzugefügt . Auch danach funktioniert es immer noch nicht.

Set-Cookie: my_cookie=XXXXX; path=/; secure; HttpOnly; SameSite=None

Bitte beraten oder geben Sie Links von Personen an, die tatsächlich eine Lösung gefunden haben.

DieOnTime
quelle

Antworten:

15

Versionen von Safari unter MacOS 10.14 und alle Browser unter iOS 12 sind von diesem Fehler betroffen, was bedeutet, dass er SameSite=Nonefälschlicherweise als SameSite=Strictz. B. die restriktivste Einstellung behandelt wird.

Ich habe einige Anleitungen in SameSite-Cookie-Rezepten zu folgenden Themen veröffentlicht:

  • Verwenden von zwei Cookiesätzen, um Browser zu berücksichtigen, die dies unterstützen, SameSite=None; Secureund solche, die dies nicht tun.
  • Sniffing des Benutzeragenten für inkompatible Browser und nicht SameSite=Nonefür diese Anforderungen dienen.
rowan_m
quelle
1
Hallo Rowan, danke für die Antwort und entschuldige mich für die späte Antwort. Ich habe mein serverseitiges Team gebeten, die Anleitung über den obigen Link web.dev auszuprobieren. Vielleicht ist dies eine völlig unangemessene Frage. Da Millionen von Benutzern von der Änderung betroffen sind, gibt es Neuigkeiten, wenn das Apple-Team in Zukunft einen Plan zur Lösung des Problems hat?
DieOnTime
Ich kann nicht für das Apple / Safari-Team sprechen. Ich denke, der ursprüngliche Fehler ist der beste Ort für diese Diskussionen.
rowan_m
0

Für Anwendungen, die in Ruby codiert sind (insbesondere Rails, Sinatra oder irgendetwas auf Rack), löst das Juwel RailsSameSiteCookie dieses und verwandte Probleme recht gut. Der Code liest sich wie eine nahe Übersetzung des Pseudocodes in der Chromium-Diskussion ohne die spröden regulären Ausdrücke.

Av Pinzur
quelle