繁体   English   中英

18.0.0 版 Keycloak 的自定义事件监听器

[英]Custom Event Listener for Keycloak of version 18.0.0

我正在尝试为 Keycloak 创建一个事件侦听器:项目结构和 META-INF.services.org.keycloak.events.EventListenerProviderFactory

CustomEventListenerProviderFactory:

public class CustomEventListenerProviderFactory implements EventListenerProviderFactory {

    private static final String LISTENER_ID = "event-listener-extension";

    @Override
    public EventListenerProvider create(KeycloakSession session) {
        return new CustomEventListenerProvider();
    }

    @Override
    public void init(Config.Scope scope) {

    }

    @Override
    public void postInit(KeycloakSessionFactory keycloakSessionFactory) {

    }

    @Override
    public void close() {

    }

    @Override
    public String getId() {
        return LISTENER_ID;
    }

}

自定义事件监听器提供者:

@Slf4j
@NoArgsConstructor
public class CustomEventListenerProvider implements EventListenerProvider {

    @Override
    public void onEvent(Event event) {
      log.info("Caught event {}", EventUtils.toString(event));
    }

    @Override
    public void onEvent(AdminEvent adminEvent, boolean b) {
        log.info("Caught admin event {}", EventUtils.toString(adminEvent));

        List<CustomAdminEvent> events = new LinkedList<>();
        events.add(new PasswordResetEvent(adminEvent));

        events.stream().filter(CustomAdminEvent::isValid).forEach(CustomAdminEvent::process);
    }

    @Override
    public void close() {

    }
}

但是当我运行mvn clean package在 mvn 命令之后将目标文件夹复制到部署文件夹的路径中,然后运行命令在 cmd 中启动 Keycloak

kc.bat start-dev --http-port 8082

不显示自定义事件。

钥匙斗篷中的事件

PNG

只是提供者文件夹中的提供者。 主题文件夹中的主题。 不多也不少。 还要阅读这些文件夹中的 READMNE.md....

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM