Вы сталкиваетесь с тем, что делает X-Frame-Options
.
Заголовок HTTP-ответа X-Frame-Options
может использоваться, чтобы указать, следует ли разрешить браузеру отображать страницу в <frame>
, <iframe>
, <embed>
или <object>
. Сайты могут использовать это, чтобы избежать атак с использованием кликджекинга, гарантируя, что их контент не встраивается в другие сайты.
Источник: X-Frame-Options на MDN
Если вам принадлежит страница, которую вы пытаетесь запустить внутри IFrame, убедитесь, что вы явно указали правильное значение для заголовка X-Frame-Options
. Если вы этого не сделаете: зачем отображать его в IFrame?
Если вы работаете с Chrome, которое ведет себя иначе, чем Edge, посмотрите, как используется заголовок, и поддерживает ли Chrome его. Например, ALLOW-FROM
не поддерживается Chrome.
Дополнительная информация: caniuse.com для x-frame-options .
Документ MDN, который я связал ранее о ALLOW-FROM:
ALLOW-FROM uri (устарело)
Это устаревшая директива, которая больше не работает в современных браузерах. Не используйте это. При поддержке устаревших браузеров страница может отображаться только во фрейме с указанным исходным uri.
EDIT:
В качестве дополнения к вашему оператору
Похоже, нет другого варианта, кроме удаления Azure аутентификации AD
Вы никогда не должны отображать какие-либо страницы входа в iframe из-за проблем, связанных с тряской. Это не ограничивается аутентификацией Azure AD, это верно для любых без исключения вариантов аутентификации.
Azure Аутентификация AD также имеет всплывающую опцию. Например: если вы используете MSAL. js, вот что:
Вы можете входить в систему пользователей вашего приложения в MSAL. js двумя способами:
- Всплывающее окно с использованием метода loginPopup
- Перенаправление с помощью метода loginRedirect
Источник: Одностраничное приложение: Вход и выход