По умолчанию ответы ADFS 3 содержат HTTP-заголовок «X-Frame-Options: DENY». Это предотвращает запуск ADFS в iframe, потому что это дает возможность атаковать кликджекинг.
Однако в настоящее время моя компания внедряет интеграцию, в которой следует сделать исключение из этого правила безопасности: страницы в определенном домене должен иметь возможность встраивать ADFS в iframe.
Однако похоже, что ADFS не позволяет изменить это из коробки. Итак, как лучше всего изменить этот HTTP-заголовок?
Например, как предлагается в RFC (https://tools.ietf.org/html/rfc7034#section-2.3.2.3)?
Страница, которая хочет отобразить запрошенный контент во фрейме, предоставляет серверу свою собственную информацию о происхождении, предоставляя контент для фрейма через параметр строки запроса.
Сервер проверяет, соответствует ли имя хоста его критериям, чтобы страница могла быть обрамлена целевым ресурсом. Это может происходить, например, при поиске в белом списке имен доверенных доменов, которым разрешено размещать страницу во фрейме. Например, для кнопки «Нравится» в Facebook сервер может проверить, совпадает ли указанное имя хоста с именами хоста, ожидаемыми для этой кнопки «Нравится».
Сервер возвращает имя хоста в «X-Frame-Options: ALLOW-FROM», если на шаге № 2 были соблюдены надлежащие критерии.
- Браузер применяет заголовок «X-Frame-Options: ALLOW-FROM».
Используйте веб-сервер в качестве обратного прокси перед ADFS 3 и измените заголовок HTTP. Этого можно добиться с помощью Apache или Nginx. Тщательно проверьте это перед доставкой, так как ADFS 3 может не понравиться прокси. У меня нет возможности предоставить подтверждение концепции
Это еще один сервер и сервис для управления, но я понимаю, что вы должны встретиться