Отказался отображать ‘http: // ..’ во фрейме, потому что он установил ‘X-Frame-Options’ в ‘sameorigin’ при попытке подключиться к SAML IDP через iframe

#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.

Спасибо.