#php #iframe #saml #x-frame-options #simplesamlphp
#php #iframe #saml #x-frame-options #simplesamlphp
Вопрос:
У меня есть два разных приложения, размещенных на одном сервере. В обоих приложениях я интегрировал аутентификацию SAML с использованием SimpleSAMLphp. Оба приложения подключаются к одному SAML IDP (SimpleSAMLphp IDP) для аутентификации.
В одном приложении я загружаю содержимое другого приложения с помощью iframe, но когда я пытаюсь загрузить страницу, она выдает ошибку ниже, поскольку перенаправляет на IDP для аутентификации.
Сообщение об ошибке: отказано в отображении ‘http: // ..’ во фрейме, потому что он установил ‘X-Frame-Options’ в ‘sameorigin’
Я не понимаю, это из-за SimpleSAMLphp saml auth или есть что-то, что мне нужно сделать, чтобы это работало.
Комментарии:
1. Это из-за настроек на сервере, который обслуживает страницу, которую вы пытаетесь поместить в iframe. Это не позволяет вам поместить эту страницу в iframe на другом веб-сайте. Вы можете узнать больше о X-Frame-Options здесь: developer.mozilla.org/en-US/docs/Web/HTTP/Headers /. … Вы ничего не можете поделать с этой ошибкой, если только вы не управляете сервером / кодом, который обслуживает этот URL.
2. Поэтому я бы предположил, что вы не реализуете систему так, как она разработана. Я предлагаю просмотреть любую документацию или примеры, доступные вам, и сравнить с вашей собственной реализацией.
3. Спасибо за ответ. Проверка ссылки, которой вы поделились.
4. Здравствуйте, эта проблема решена. Сервер SAML IDP, на который я звонил со своего сервера, внес некоторые изменения, упомянутые здесь support.pingidentity.com/s/article/… Это связано с политикой безопасности контента. Спасибо.
5. Это здорово. Если проблема решена, пожалуйста, напишите ее в качестве ответа в разделе ниже, тогда а) она может быть принята (вами — вы можете ответить на свои собственные вопросы!), б) люди могут проголосовать за нее, и в) она будет доступна для поиска людьми, у которых есть похожая проблемав будущем (комментарии нелегко найти). Спасибо.
Ответ №1:
Вышеупомянутая проблема решена. Вот что было сделано для решения этой проблемы. Я подключаюсь к серверу SAML IDP с моего SAML SP, но получаю ошибку при загрузке содержимого в iframe.
Чтобы решить эту проблему с iframe: сервер SAML IDP разрешает нашему приложению hostname загружать страницу внутри iframe. Поскольку они используют PingFederate SAML, они выполнили шаги, упомянутые в приведенном ниже URL: https://support.pingidentity.com/s/article/Unable-to-Display-content-in-a-frame
По сути, они обновили свой раздел заголовка политикой безопасности содержимого, чтобы разрешить отображение страницы в iframe.
Спасибо.