Skip to content

Commit

Permalink
Merge pull request #222 from c-jar/doc-openid-connet
Browse files Browse the repository at this point in the history
Doc: OpenID conenct / Keycloak
  • Loading branch information
dbarzin authored Nov 11, 2024
2 parents 1b9b37a + 874a518 commit 9c56cf2
Show file tree
Hide file tree
Showing 2 changed files with 86 additions and 0 deletions.
42 changes: 42 additions & 0 deletions INSTALL.fr.md
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,48 @@ Don't forget to [configure](https://dbarzin.github.io/deming/config/#notificatio

N'oubliez pas de [configurer](https://dbarzin.github.io/deming/config.fr/#notifications) le contenu et la fréquence d'envoi des mails.

## Configuration de Keycloak (optionnel)

Pour configurer Keycloak, suivez ces étapes :

- Ouvrez votre fichier .env.
- Modifiez les paramètres de configuration de Keycloak comme suit :

```bash
SOCIALITE_PROVIDERS="keycloak"
KEYCLOAK_CLIENT_ID= # Client Id (on Keycloak)
KEYCLOAK_CLIENT_SECRET= # Client Secret
KEYCLOAK_REDIRECT_URI=${APP_URL}auth/callback/keycloak
KEYCLOAK_BASE_URL=<KeyCloak IP Address>
KEYCLOAK_REALM= # Realm Name
```

Après avoir ajouter `keycloak` à la variable `SOCIALITE_PROVIDERS` un bouton apparaîtra sur la page de connexion, permettant aux utilisateurs de se connecter via Keycloak. (Il est possible de modifier le texte du bouton avec la variable `KEYCLAOK_DISPLAY_NAME`).

Pour autoriser la création d'utilisateur et/ou la mise à jour par Keycloak ajouter les paramètre suivants :

```bash
KEYCLOAK_ALLOW_CREATE_USER=true
KEYCLOAK_ALLOW_UPDATE_USER=true
```

Si vous souhaitez que récupérer le rôle de l'utilisateur fourni par Keycloak lors de sa création ou la mise à jour, il est nécessaire de lui de demander un `scope` supplémentaires et de définir le nom `claim` qui contiendra le rôle :
```bash
KEYCLOAK_ADDITIONAL_SCOPES="roles"
KEYCLOAK_ROLE_CLAIM="resource_access.deming.roles.0"
```

Il est également possible de fournir un rôle par défaut, utilisé si Keycloak ne fournit pas le rôle :
```bash
KEYCLOAK_DEFAULT_ROLE=<Valeur possible : auditee, auditor, user>
```

Pour une documentation plus complète sur la configuration de Keycloak, consultez la documentation officielle de Keycloak.

## Configuration d'un fournisseur OpenID Connect Générique

Il est possiblie d'ajouter un founisseur d'identité OpenID Connect générique, il suffit d'ajouter `oidc` à la variable `SOCIALITE_PROVIDERS`. Toutes les variables vu ci-dessus existe, elles commencent par `OIDC_` (voir le fichier .env.example pour plus d'information)

## Sheduler

Modifier le crontab
Expand Down
44 changes: 44 additions & 0 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,50 @@ You may also configure DKIM :

Don't forget to [configure](https://dbarzin.github.io/deming/config/#notifications) the content and frequency of your emails.

## Keycloak Configuration (optional)

To configure Keycloak, follow these steps:

- Open your `.env` file.
- Modify the Keycloak configuration settings as follows:

```bash
SOCIALITE_PROVIDERS="keycloak"
KEYCLOAK_CLIENT_ID= # Client Id (on Keycloak)
KEYCLOAK_CLIENT_SECRET= # Client Secret
KEYCLOAK_REDIRECT_URI=${APP_URL}auth/callback/keycloak
KEYCLOAK_BASE_URL=<KeyCloak IP Address>
KEYCLOAK_REALM= # Realm Name
```

After adding `keycloak` to the `SOCIALITE_PROVIDERS` variable, a button will appear on the login page, allowing users to log in via Keycloak. (It is possible to modify the button text with the `KEYCLOAK_DISPLAY_NAME` variable).

To allow user creation and/or updates by Keycloak, add the following parameters:

```bash
KEYCLOAK_ALLOW_CREATE_USER=true
KEYCLOAK_ALLOW_UPDATE_USER=true
```

If you want to retrieve the user role provided by Keycloak during creation or update, it is necessary to request an additional `scope` and define the name of the `claim` that will contain the role:

```bash
KEYCLOAK_ADDITIONAL_SCOPES="roles"
KEYCLOAK_ROLE_CLAIM="resource_access.deming.roles.0"
```

It is also possible to provide a default role, used if Keycloak does not provide the role:

```bash
KEYCLOAK_DEFAULT_ROLE=<Possible value: auditee, auditor, user>
```

For more complete documentation on Keycloak configuration, consult the official Keycloak documentation.

## Configuration of a Generic OpenID Connect Provider

It is possible to add a generic OpenID Connect identity provider. Simply add `oidc` to the `SOCIALITE_PROVIDERS` variable. All the variables seen above exist, they start with `OIDC_` (see the `.env.example` file for more information).

## Sheduler

Modify crontab
Expand Down

0 comments on commit 9c56cf2

Please sign in to comment.