keycloak会产生很多的系统事件,如:登录,创建用户等。这篇文件告诉你如何自定义事件插件,该插件会将事件发布到MQTT服务器。
该插件的代码在这里event-listener-mqtt-provider,这里不再列举代码。这里介绍如何配置及使用
配置springboot-embedded-server
如何启动springboot-embedded-server服务,请参考这里[Keycloak] - 基于Spring Boot框架的,内嵌式的服务,如果要使用event-listener-mqtt-provider插件,配置如下:
配置mqttPublisher插件,在application.yml中
keycloak:
mqttPublisher:
provider: "logger"
这个配置的作用是将MQTT消息发送到日志,这可以方便测试或调试;需要发布到MQTT服务器,请参考文章[Keycloak] - 自定义SPI和插件
配置Keycloak
启动springboot-embedded-server服务,在游览器中输入地址http://localhost:9000/auth/,使用超级用户登录,进入dubhe realm
点击‘save’即可。
随便操作下keycloak,在springboot-embedded-server服务的debug窗口就会有事件输出
总结
完整的项目可以在Gitee找到,欢迎下载。