Authorization Server (Keycloak)

The server issuing access tokens to the client after successfully authenticating the resource owner and obtaining authorization.

Keycloak

Keycloak is an open-source Identity and Access Management solution administered by RedHat, and developed in Java by JBoss. More documentation about Keycloak can be found here. A code sample of an embedded server (Spring Boot) can be found here.

Note: the server could be running on a VM or something in a standalone mode and configured using the Admin Console. This process is described here. I chose de deploy it in a Spring Boot embedded application to make the deployment process easier.

Configuration in the Admin Console

Some core concepts need to be understood to configure the server properly. They are explained here.

The embedded server is created using a realm import file. The file is in the project repository and can be found in resources/journal-de-bord-realm.json file.

Identity Providers

I would like to enable login with Google. Here are the steps to follow.

It is possible to add a Google button, resources are provided by Google here.

https://developers.google.com/identity/sign-in/web/build-button

Theme customization

It is possible to customize the look and feel of the Keycloak GUI. Here are two key tutorials:

Pour modifier la page il suffit de copier le style de base (que l’on trouve ici), la documentation officielle sur les themes est ici.

https://developers.google.com/identity/sign-in/web/build-button

Deployment

https://elements.heroku.com/buttons/mieckert/keycloak-heroku

Environment variables

The server configuration is the following…

Last updated