Мобильное сафари: iframe пропускает куки - PullRequest
0 голосов
/ 13 октября 2018

У меня есть веб-приложение, расположенное в домене A, которое содержит iframe в домене B. Запрос к src в домене B имеет несколько заголовков Set-Cookie.Если я загружаю это веб-приложение с Safari или Chrome, я вижу файлы cookie, установленные из запроса iframe в инструментах разработчика.Однако, если я захожу на ту же страницу на симуляторе iOS (iOS 12), файлы cookie не устанавливаются, и я получаю ошибки аутентификации (из-за отсутствия файлов cookie).Мне не повезло найти что-нибудь в Интернете об этом поведении, поэтому я понятия не имею, как обойти это.Мне кажется, что я что-то упускаю, потому что кажется, что это будет гигантская недостающая функция.

К сожалению, у меня не было времени настроить простое воспроизведение для этой проблемы.

ЛюбойТакой совет поможет.

1 Ответ

0 голосов
/ 24 декабря 2018

Проблема в том, что Safari iOS не позволяет устанавливать файлы cookie из домена B, если вы не «явно посещаете» B. Обходной путь - посетить домен iframe и установить там пустой файл cookie, а затем вернуться к исходному домену A.Впоследствии ваши директивы "Set-Cookie" или все, что вы используете для установки файлов cookie, будут разрешены iOS.

Ознакомьтесь с этим решением и обсуждением (включая настройку воспроизведения): https://gist.github.com/iansltx/18caf551baaa60b79206

...