DGTLMS · Guide

Authentification & SSO

Connecter Keycloak (OpenID Connect)

Permettez à vos utilisateurs de se connecter à DGTLMS avec leur compte Keycloak, via OpenID Connect — avec import automatique de la configuration.

Administrateur~10 minutesIntermédiaire
  • Un accès administrateur Keycloak (pour créer un client) et administrateur DGTLMS.
  • L'URL de votre realm Keycloak.

Dans Keycloak

  1. Créer un client

    Dans votre realm, créez un client OpenID Connect (type confidentiel).

  2. Renseigner l'URL de redirection

    Ajoutez l'URL de retour de DGTLMS (indiquée par DGTLMS au moment de la configuration).

  3. Récupérer les identifiants

    Notez le Client ID et le Client secret.

Dans DGTLMS

  1. Ouvrir la configuration

    Administration → Configuration de l'authentification → Ajouter une méthode → OAuth2 / OpenID Connect.

  2. Importer la configuration

    Collez l'URL de découverte de votre realm — https://<keycloak>/realms/<realm>/.well-known/openid-configuration — puis Importer. Les points de terminaison (autorisation, jeton, userinfo, déconnexion) se remplissent automatiquement.

  3. Saisir les identifiants du client

    Renseignez le Client ID et le Client secret obtenus dans Keycloak.

  4. Vérifier le mapping des attributs

    Assurez-vous que l'e-mail, le nom et le prénom sont bien associés aux champs Keycloak correspondants.

  5. Enregistrer et tester

    Validez, puis testez la connexion depuis la page de login.

Utilisateurs multiprofils (apprenant et formateur…)

Une même personne peut avoir plusieurs rôles dans DGTLMS (apprenant, formateur, niveau personnalisé). Avec Keycloak, cela fonctionne sans développement — c'est une affaire de configuration :

  1. Activer les deux options

    dans Administration → Configuration : *« Activer les utilisateurs multi-profils »* (choix du profil à la connexion) et *« Afficher le sélecteur de profil »* (bascule en cours de session, en haut à droite). Laissez *« Connexion automatique en tant qu'apprenant »* désactivée, sinon le choix est court-circuité.

  2. Aligner l'identifiant envoyé par Keycloak

    DGTLMS relie une personne à ses différents profils par le radical de l'identifiant (l'identifiant sans le suffixe de rôle _APP/_FOR…). Le claim que Keycloak transmet comme *login* doit donc correspondre à ce radical (souvent preferred_username), pas nécessairement l'e-mail. Au besoin, ajoutez un mapper Keycloak qui émet exactement cet identifiant. C'est le seul point réellement spécifique à vérifier — en particulier pour vos comptes déjà existants en _FOR/_APP.

  3. Créer les rôles supplémentaires

    un nouvel utilisateur inconnu est créé automatiquement en apprenant. Pour lui donner un second rôle (ex. formateur), un administrateur ajoute le profil depuis sa fiche : DGTLMS suffixe alors automatiquement les comptes (_APP, _FOR…). La personne verra ensuite le choix à la connexion et le sélecteur en session.

> La liaison à l'identité Keycloak s'appuie sur l'identifiant stable du fournisseur (claim sub) : elle résiste aux changements d'e-mail et survit à l'ajout d'un rôle.

Bon à savoir

Voir aussi