Keycloak JS, передача auth на поддомен и новое окно / вкладку - PullRequest
0 голосов
/ 23 сентября 2019

У меня несколько сложное одностраничное веб-приложение React / Redux и бэкэнд, защищенный Keycloak.Используя Keycloak-JS-адаптер, я могу войти в систему, и, передав токен аутентификации для запроса заголовков, я могу запросить защищенный API и ресурсы бэкэнда, все работает как чудо.Но есть и другие требования:

Connection of protected services

Веб-приложение может использовать службы внешнего интерфейса (1) (которые для простоты отображаются в iframe иподается с поддоменом приложения).Это, в свою очередь, может потребовать выполнения API-запросов (3) или отображения ресурсов (5).Было бы хорошо, если бы авторизация ее внешнего интерфейса могла быть общей, поэтому сервисам не нужно было бы самостоятельно выполнять управление аутентификацией и токенами, что также избавило бы меня от создания конфигураций для каждого сервиса в Keycloak, тем более что все разрешения являются пользовательскими.специфический, а не специфичный для сервиса.

Веб-приложение (и, возможно, какой-то сервис внешнего интерфейса) может захотеть открывать файлы непосредственно на новых вкладках (2, 4).Из-за размера файла чтение файлов в виде больших двоичных объектов и передача их в новое окно не вариант.

Я чувствую, что могу заставить Keycloak хранить токены, так как cookie решит все мои проблемы.Тогда службы будут обмениваться информацией для входа в систему, так как она находится на поддомене, и открытие ресурсов в новых окнах также будет работать, пока сохраняется cookie.Однако простое включение сеанса Keycloak iframe не решило бы проблему, поскольку файлы cookie iframe не передаются с запросами.

Есть ли какое-то неправильное представление на моей стороне?Есть ли лучший способ достичь моей цели с помощью Keycloak?

...