[英]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
不显示自定义事件。
只是提供者文件夹中的提供者。 主题文件夹中的主题。 不多也不少。 还要阅读这些文件夹中的 READMNE.md....
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.