Я использую сервер keycloak для авторизации. Я создаю своего пользователя в своей базе данных и в keycloak. Теперь мне нужно удалить пользователя из моей базы данных, когда пользователь удаляется в keycloak. Мой сервер написан на Java. Как я могу получить событие от keycloak на свой сервер, когда пользователь удаляется или обновляется в keycloak?
Я думаю, вам лучше использовать функцию Keycloak User Storage SPI:
Вы можете использовать SPI пользовательского хранилища для записи расширений в Keycloak для подключаться к внешним базам данных пользователей и хранилищам учетных данных. встроенный Поддержка LDAP и ActiveDirectory является реализацией этого SPI в действие. По умолчанию Keycloak использует свою локальную базу данных для создания, обновление, поиск пользователей и проверка учетных данных. Хотя часто, организации имеют существующие внешние проприетарные базы данных пользователей, которые они не могут перейти на модель данных Keycloak. Для тех ситуаций, разработчики приложений могут писать реализации User Storage SPI для соединения внешнего пользовательского хранилища и внутреннего пользовательского объекта модель, которую Keycloak использует для входа пользователей и управления ими.
Таким образом, вам не нужно иметь какой-либо механизм обратного вызова, который срабатывает всякий раз, когда пользователь удаляется, обновляется или что-то еще. Вы просто настраиваете свою БД как внешнюю пользовательскую БД, которая будет использоваться Keycloak. Более того, вы можете настроить его так, чтобы всякий раз, когда пользователь добавляется, удаляется или обновляется, он немедленно отражался в вашей БД. Этот подход легче реализовать, он чище, удобнее в сопровождении и лучше с точки зрения производительности и памяти.
Я согласен с @dreamcrash. Нет API, которое вытолкнет вас из keycloak на какое-то событие, пока я вижу официальный API keycloak.org/docs-api/12.0/rest-api
пожалуйста, проверьте этот пример KecyloakEventExample Я надеюсь, что это будет полезно
Звучит как задача для протокола SCIM, который не реализован в банкомате Keycloak — смотрите/смотрите/голосуйте Issues.redhat.com/browse/KEYCLOAK-2537