2024-02-18 17:51:49 +00:00
|
|
|
# MQTT Event Listener Provider for Keycloak
|
|
|
|
|
|
|
|
Keycloak SPI to publish events to a MQTT broker
|
|
|
|
|
|
|
|
Based on https://github.com/softwarefactory-project/keycloak-event-listener-mqtt
|
|
|
|
|
2024-02-18 18:03:59 +00:00
|
|
|
**TODO: Reduce JAR size**
|
|
|
|
|
2024-02-18 17:51:49 +00:00
|
|
|
## Configuration
|
|
|
|
|
|
|
|
- `server-uri` (String): MQTT broker URI
|
|
|
|
- `username` (String) / `password` (String): Credentials
|
|
|
|
- `topic` (String): MQTT base topic
|
|
|
|
- `use-persistence` (Boolean): MQTT persistence
|
|
|
|
- `retained` (Boolean): Message retention
|
|
|
|
- `clean-session` (Boolean): Establish clean sessions
|
|
|
|
- `connection-timeout` (Int): Timeout duration in seconds
|
|
|
|
- `qos` (Int): MQTT QoS
|
|
|
|
|
|
|
|
## Installtion
|
|
|
|
|
|
|
|
Copy the JAR into `providers/` and run Keycloak with these options:
|
|
|
|
|
|
|
|
```sh
|
|
|
|
./bin/kc.sh start \
|
|
|
|
--proxy=edge \
|
|
|
|
--hostname-strict=false \
|
|
|
|
--spi-events-listener-mqtt-server-uri tcp://localhost:1883 \
|
|
|
|
--spi-events-listener-mqtt-username username \
|
|
|
|
--spi-events-listener-mqtt-password password \
|
|
|
|
--spi-events-listener-mqtt-topic keycloak \
|
|
|
|
--spi-events-listener-mqtt-use-persistence true \
|
|
|
|
--spi-events-listener-mqtt-retained true \
|
|
|
|
--spi-events-listener-mqtt-clean-session true \
|
|
|
|
--spi-events-listener-mqtt-qos 0
|
|
|
|
```
|