18.0.0 版 Keycloak 的自定义事件监听器
Custom Event Listener for Keycloak of version 18.0.0
我正在尝试为 Keycloak 创建一个事件侦听器:
Project structure and 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;
}
}
CustomEventListenerProvider:
@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
复制 target folder after mvn commands the jar file into the path to deployment folder 然后 运行 在 cmd
中启动 Keycloak 的命令
kc.bat start-dev --http-port 8082
没有显示自定义事件。
Events in Keycloak
Png
只是提供商文件夹中的提供商。
主题文件夹中的主题。
不多也不少。
另请阅读这些文件夹中的 READMNE.md....
我正在尝试为 Keycloak 创建一个事件侦听器: Project structure and 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;
}
}
CustomEventListenerProvider:
@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
复制 target folder after mvn commands the jar file into the path to deployment folder 然后 运行 在 cmd
kc.bat start-dev --http-port 8082
没有显示自定义事件。
Events in Keycloak
Png
只是提供商文件夹中的提供商。 主题文件夹中的主题。 不多也不少。 另请阅读这些文件夹中的 READMNE.md....