Как получить недавно измененного или измененного пользователя из keycloak - PullRequest
0 голосов
/ 17 октября 2019

У нас есть сценарий, когда мы опрашиваем пользователей из Active Directory в keycloak, и это прекрасно работает, и любой недавно измененный пользователь автоматически добавляется в keycloak. Но здесь я должен загрузить тех же пользователей из Keycloak в мою базу данных приложения SpringBoot на определенныхинтервал скажем 1 час. Таким образом, поток данных высокого уровня подобен ниже Active Directory -> KeyCloak -> Spring Boot Service Poll-> БД приложения. Нужно найти лучший способ обработки только тех пользователей, которые недавно были изменены в keycloak, чтобы у меня было меньше записейобновить в БД приложения.

Keycloak keycloakInstance = // передать URL Keycloak в KeycloakBuilder

Userresource userResource = // используя keycloakInstance передать realmName и getUsers List uersListFfromkeyCLoak // Здесь нужны только пользователи, которые изменилисьза последний час enter image description here

1 Ответ

1 голос
/ 18 октября 2019

Вы можете реализовать плагин Keycloak на основе EventListenerSpi . В вашем пользовательском EventListenerProvider вы можете реагировать на любые изменения пользовательских объектов. Вы можете записать события изменения в очередь сообщений и прочитать из этой очереди приложение весенней загрузки.

Для получения дополнительной информации и фрагмента кода посмотрите мой ответ на этот весьма похожий вопрос .

...