Кросс-домен с Iframe, указывающим на SSO-сервер - PullRequest
4 голосов
/ 19 января 2010

У меня есть приложение, в котором я показываю некоторые вещи в модалах javasctip, используя jquery. Требуется пользователь для входа в определенные потоки; но мы никогда не оставляем модальные для пользователя.

Итак, вот что мы делаем сейчас.

  1. Во время потока пользователя, если пользователь должен войти в систему, мы скрываем текущий div и показываем логин div
  2. Сохраняйте скрытый iframe со ссылкой на источник, как у нашего сервера единого входа.
  3. Как только пользователь отправляет форму, мы отправляем скрытый iframe на сервер единого входа
  4. Если пользователь вошел в систему, мы продолжаем процесс.

Проблема в том, что при входе пользователя возникает ошибка. Нам нужно получить коды ошибок из скрытого фрейма страницы; но потому что мы не контролируем контент внутри iframe, и он возвращается сервером SSO; мы не знаем, как его читать, поскольку он междоменный.

Есть идеи?

Ответы [ 3 ]

0 голосов
/ 24 февраля 2014

Нельзя обойти ограничения x-domain, если вы не используете протокол jsonp.

Может ли пользователь просто увидеть ответ об ошибке на странице?Почему у вас есть iframe скрытый atm?

Пытаетесь ли вы беззвучно войти в систему пользователя в другой системе, используя технику iframe?

Несмотря на то, что это может работать в большинстве браузеров - некоторые браузеры не передают файлы cookie в i-кадрах - что делает этот подход не хорошим решением для широкой аудитории..

0 голосов
/ 06 марта 2014

Используйте JSONP для обратного вызова функции, которую вы запретили на своем веб-сайте, затем в iframe вам просто нужно вызвать функцию javascript: "parent.callback ()".

0 голосов
/ 19 января 2010

До тех пор, пока не выполняется сценарий на стороне клиента от SSO, вам не нужен iframe.Смысл использования iframe для безопасности заключается в том, чтобы не допустить игнорирования методами AJAX политики единого источника и обхода шифрования SSL.Ответ заключается в том, чтобы удалить iframe.Запросите данные единого входа со стороны сервера и отправьте их клиенту с вашего сервера, когда страница построена.

...