Benito
Benito

Reputation: 33

Keycloak event listener with RabbitMQ

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 image

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

Answers (0)

Related Questions