Благодаря некоторым подсказкам Фабриса. Я написал, что получатель событий достигает этого.
В слушателе я отфильтровал тип события UPDATE_PASSWORD и отправил электронное письмо сам. Примерно так:
public class ResetPasswordEventListenerProvider implements EventListenerProvider {
public ResetPasswordEventListenerProvider() {
}
@Override
public void onEvent(Event event) {
if(event.getType() == EventType.UPDATE_PASSWORD){
//Send the details to a Queue.
}
}
Вот некоторые статьи, на которые я ссылался
https://dev.to/adwaitthattey/building-an-event-listener-spi-plugin-for-keycloak-2044
Если вы не используете какую-либо внешнюю зависимость в ваш код, затем упаковка вашего кода в виде jar и развертывания достаточно, как указано в статье выше. Но если у вас есть какая-либо внешняя зависимость в вашем коде, то очень трудно включить ее в получившийся jar. Например, в моем случае, как только я поймаю событие, я отправлю информацию в очередь Jms (которая будет выбрана другой службой для отправки электронной почты). Так что мне нужны были связанные с JMS зависимости в поме. Это было не просто.
Поэтому я упаковал код как ear и развернул. Процесс развертывания похож на jar. Но упаковка немного отличается. Это ясно показано в этом проекте
https://github.com/thomasdarimont/keycloak-user-storage-provider-demo