This is a demo implementation for "RobôHelper". This code was tested with Keycloak versions 11.0.2 and 4.8.3.Final.

The link above points to a text written in Brazilian Portuguese.

Software requirements

  1. Bash 5

  2. For Keycloak 4.8.3.Final:

    1. JDK 8

  3. For Keycloak 11.0.2.Final:

    1. JDK 11

  4. wget

  5. mvn

  6. jq

Steps to run this demo

Clone this repo and cd to it:

$ git clone
$ cd `basename $_`

Load some functions into your current shell:

$ source

Download and install Keycloak:

$ roh-kc-install
  • "roh" is a short for (Robot Helper).

  • "kc" is a short for (Keycloak).

Start Keycloak and watch its logs:

$ roh-kc-start
$ roh-kc-log &

Increase the log level for some log categories in Keyclock.

This will be help you to debug the code in this project.
$ roh-kc-increase-log-level

Configure Keycloak:

$ roh-kc-configure

Build and deploy the Robot Helper extension:

$ roh-deploy

Test the extension:

$ roh-delete-generated-tokens
$ roh-test-create-user

You can see details about the generated access_token for the configured service account by typing:

$ cat service-account-ivr.access.token
$ roh-jwt $_