- Un accès administrateur Keycloak (pour créer un client) et administrateur DGTLMS.
- L'URL de votre realm Keycloak.
Dans Keycloak
Créer un client
Dans votre realm, créez un client OpenID Connect (type confidentiel).
Renseigner l'URL de redirection
Ajoutez l'URL de retour de DGTLMS (indiquée par DGTLMS au moment de la configuration).
Récupérer les identifiants
Notez le Client ID et le Client secret.
Dans DGTLMS
Ouvrir la configuration
Administration → Configuration de l'authentification → Ajouter une méthode → OAuth2 / OpenID Connect.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.Saisir les identifiants du client
Renseignez le Client ID et le Client secret obtenus dans Keycloak.
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.
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 :
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é.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 (souventpreferred_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.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
- L'URL de découverte doit être en HTTPS.
- Keycloak peut aussi être branché en SAML, mais l'OIDC est plus simple grâce à l'import automatique.
- Le compte doit exister dans DGTLMS (ou être provisionné) pour que la connexion aboutisse.