Настройка cookie в iframe при использовании сафари - PullRequest
0 голосов
/ 04 апреля 2019

Я знаю, что было много связанных вопросов и ответов по Stackoverflow и по Интернету, однако я не смог найти решение для своего случая.

У нас есть приложение в домене A, которое мы не можем контролировать, и приложение в домене B - наш iframe, который интегрируется в приложение A. Мы используем файлы cookie в нашем приложении B. Все работает нормально, файлы cookie являютсясохраняется между запросами, кроме Safari.Я прочитал https://gist.github.com/iansltx/18caf551baaa60b79206 и понял, что Safari особенный и требует, чтобы пользователь в прошлом явно взаимодействовал с доменом B.

Мы попытались решить эту проблему, пытаясь отобразить невидимый пиксель на сайте A, который использует наш интегрированный JS-скрипт, который вставляет iframe в некоторый div на сайте A. Также мы попытались сделать ajax-запрос CORS к домену.A в домен B (также из нашего сценария интеграции), мы используем withCrendetials: true, если это имеет значение, и запрос успешно возвращает заголовок «set-cookie», но cookie не передается в дальнейшие запросы от iframe к нашемудомен B.

Но если я открою домен B явно, вдруг файлы cookie будут переданы в наш iframe, интегрированный в домен A.

Я думаю, что мы перепробовали все, что могли,далеко, но не повезло.Некоторые ресурсы предлагают использовать перенаправления JS, но я думаю, что это плохо для пользователя.Я надеялся на лучшее решение.

Любые указатели высоко ценятся.Пожалуйста, спасите мой день, эта проблема сводит меня с ума:)

1 Ответ

0 голосов
/ 06 апреля 2019

Проведя много исследований, мы пришли к выводу, что лучше избавиться от куки и явно использовать заголовок авторизации.Оставалась только одна проблема: изображения, которые мы вставляли в DOM, и поэтому мы не могли передать туда заголовок авторизации (использование параметров запроса не было идеальным, так как это могло бы выставить токен аутентификации).Мы решили эту проблему, выполнив ajax-запросы к URL-адресам изображений и вставив их в виде BLOB-объектов в DOM.

...