Safari не надсилає файли cookie навіть після встановлення SameSite = None; Безпечний


13

Наш додаток використовує файли cookie, щоб запам'ятати вхід користувачів. Кожен виклик автентичного API, який ми робимо, браузер приєднує встановлений сервер файл cookie HTTPonly разом із запитом API та отримує автентифікацію. Така поведінка, схоже, порушена в сафарі після звільнення Мохаве.

Я читав про безпеку файлів cookie між веб-сайтами, реалізовані сафарі та нашою командою сервера, доданою SameSite=None;Secureпід час налаштування файлу cookie. Навіть після цього це все ще не працює.

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

Будь ласка, порадьте або надайте посилання людям, які насправді знайшли рішення.

Відповіді:


15

Ця помилка позначається на версіях Safari на MacOS 10.14 та на всіх браузерах на iOS 12, тобто SameSite=Noneпомилково трактується як SameSite=Strict, наприклад, найбільш обмежувальна настройка.

Я опублікував кілька вказівок у рецептах cookie SameSite з будь-якого:

  • Використання двох наборів файлів cookie для обліку веб-переглядачів, які підтримують, SameSite=None; Secureта тих, які не підтримують.
  • Прослуховування агента користувача для несумісних веб-переглядачів і не подання SameSite=Noneцих запитів.

1
Привіт Роуан, Дякую за відповідь та вибачте за пізню відповідь. Я попросив свою команду на стороні сервера випробувати керівництво за посиланням web.dev вище. Можливо, це абсолютно невідповідне запитання, як би там не було. Оскільки мільйони користувачів впливають на зміни, будь-яка новина, якщо в майбутньому є план від команди Apple, який би вирішив її?
DieOnTime

Я не можу виступати за команду Apple / Safari. Я думаю, що оригінальна помилка - найкраще місце для цих дискусій.
rowan_m

0

Для програм, кодованих у Ruby (конкретно, Rails, Sinatra чи будь-що на вершині Rack), дорогоцінний камінь RailsSameSiteCookie досить непогано вирішує цю проблему та пов'язані з цим проблеми. Код зчитується як близький переклад псевдокоду в дискусії Chromium без крихких регулярних виразів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.