Я пытаюсь встроить графическую панель управления в свое веб-приложение с помощью iFrame. Я изменил экземпляр grafana для использования сервера Keycloak для аутентификации - того же сервера, который обеспечивает аутентификацию для остальной части моего приложения, что, кажется, работает, но когда страница встроена в iFrame, она снова запрашивает аутентификацию, а не просто отображение приборной панели.
Если я изменю iFrame на ссылку, то страница отображается без запроса. Переход к localhost:3000
говорит мне, что login.oauthlogin(missing saved state)
. По-прежнему кажется, что аутентификация между Keycloak и grafana работает должным образом - потому что я am вошел в систему как ожидаемый пользователь - но что-то, связанное с встраиванием его в iFrame, вызывает проблемы.
<!-- Prompts for password -->
<div>
<iframe src="localhost:3000/dashboard></iframe>
</div>
<!-- Does not prompt -->
<div>
<a href="localhost:3000/dashboard/>Click Me!</a>
</div>
После перехода на панель мониторинга в браузере, по-видимому, iFrame сможет получить к ней доступ.
Веб-приложение работает на локальном хосте: 8080, а сервер Keycloak находится на другом сервере, к которому они оба могут получить доступ.