Safari не отправляет cookie даже после установки SameSite = Нет; Безопасный


13

Наше приложение использует куки для запоминания имени пользователя. При каждом вызове API-аутентификации, который мы делаем, браузер присоединяет установленный сервером cookie-файл HTTPonly с запросом API и проходит аутентификацию. Такое поведение кажется нарушенным в сафари после выхода Мохаве.

Я прочитал о безопасности межсайтовых файлов cookie, реализованной Safari, и наша команда сервера добавила их 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.