Могу ли я авторизовать iFrame, используя OAuth от родителя? - PullRequest
0 голосов
/ 24 июня 2019

Я пытаюсь встроить графическую панель управления в свое веб-приложение с помощью 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 находится на другом сервере, к которому они оба могут получить доступ.

...