From 874a518f20c3f5459cb0025accd0e375290857d5 Mon Sep 17 00:00:00 2001 From: c-jar Date: Mon, 11 Nov 2024 16:34:49 +0100 Subject: [PATCH] Doc: OpenID conenct / Keycloak --- INSTALL.fr.md | 42 ++++++++++++++++++++++++++++++++++++++++++ INSTALL.md | 44 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 86 insertions(+) diff --git a/INSTALL.fr.md b/INSTALL.fr.md index 3cd49c5b..797e4565 100644 --- a/INSTALL.fr.md +++ b/INSTALL.fr.md @@ -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_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= +``` + +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 diff --git a/INSTALL.md b/INSTALL.md index b4d029d9..52e2220e 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -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_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= +``` + +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