Reputation: 33
I'm trying to add an event listener to Keycloak. I discovered this plugin thanks to the Keycloak documentation: https://github.com/aznamier/keycloak-event-listener-rabbitmq
I deployed this plugin in Keycloak but it gives me a connection error. I run Keycloak and RabbitMQ via a docker-compose file like so:
version: '3'
services:
keycloak:
image: quay.io/keycloak/keycloak:21.1.2
container_name: keycloak
restart: unless-stopped
command: ["start-dev"]
environment:
KC_DB: postgres
KC_DB_URL_HOST: yourdb
KC_DB_URL_DATABASE: keycloak
KC_DB_PASSWORD: password
KC_DB_USERNAME: keycloak
KC_DB_SCHEMA: public
KC_HTTP_RELATIVE_PATH: /auth
KEYCLOAK_ADMIN: admin
KEYCLOAK_ADMIN_PASSWORD: admin
KK_TO_RMQ_URL: localhost
KK_TO_RMQ_VHOST: /
KK_TO_RMQ_PORT: 5672
KK_TO_RMQ_EXCHANGE: amq.topic
KK_TO_RMQ_USERNAME: guest
KK_TO_RMQ_PASSWORD: guest
ports:
- 8080:8080
volumes:
- ./keycloak-to-rabbit-3.0.5.jar:/opt/keycloak/providers/keycloak-to-rabbit-3.0.5.jar
depends_on:
yourdb:
condition: service_healthy
networks:
keycloak:
yourdb:
container_name: yourdb
image: postgres:16.0-bullseye
restart: unless-stopped
command: postgres -c 'max_connections=200'
environment:
POSTGRES_DB: keycloak
POSTGRES_USER: keycloak
POSTGRES_PASSWORD: password
healthcheck:
test: "exit 0"
ports:
- "5436:5432"
networks:
keycloak:
rabbitmq:
image: rabbitmq:3.13.1-management-alpine
container_name: 'rabbitmq'
ports:
- 5672:5672
- 15672:15672
networks:
keycloak:
networks:
keycloak:
driver: bridge
The event listener has been added in Keycloak and "works", it detects events on Keycloak, however I get an error every time I try to send it to RabbitMQ which tells me:
ERROR on connection to rabbitmq: java.net.ConnectException: Connection refused
I assume there is a communication problem between Keycloak and RabbitMQ but I don't see how to solve it....
Thanks a lot
Upvotes: 0
Views: 535