KB N°18 : Utilisation de Keycloak comme Identity Provider (IdP) avec OLFEO SaaS
Introduction
Cette KB explique comment configurer Keycloak en tant que fournisseur d’identité (IdP) pour OLFEO SaaS, via SAML. À l’issue de ces opérations, vos utilisateurs pourront se connecter à OLFEO en s’authentifiant sur Keycloak.
Prérequis
- Machine de synchronisation
- Un serveur doté d’un agent de synchronisation Olfeo pour remonter les comptes utilisateurs.
- Alias DNS
- Enregistrement DNS pointant vers la machine Keycloak (ex. keycloak.mondomaine.fr).
Attention : Le cas ci-dessous représente si le Keycloak est configuré pour lire les emails par défaut
Préparation de l’agent de synchronisation
- Ouvrez la configuration de votre agent
- Modifiez la correspondance des attributs :
SAMAccountName → email

Création d’un realm dédié dans Keycloak
- Connectez-vous à la console d’administration Keycloak.
- Dans Master (en haut à gauche), cliquez sur Add realm.
- Donnez un nom explicite (ex. : olfeo-saas).
Configuration du client SAML
- Sélectionnez votre Realm nouvellement créé.
- Dans le menu de gauche, cliquez sur Clients, puis Create.
- Renseignez :
- Client ID : lien de connexion olfeo
- Client Type : saml
- Cliquez sur Save et suivez les étapes de configuration (Endpoints, Signature, etc.).
Important
- Dans l’onglet Keys, désactivez la signature de la clé d’authentification si vous rencontrez des erreurs 500.
- Dans SAML Settings, réglez NameID Format sur email et activez Force NameID Format.

Récupération des métadonnées SAML
- Allez dans Realm Settings > Endpoints.
- Cliquez sur SAML 2.0 Identity Provider Metadata pour télécharger le fichier XML.
- Importez ce XML dans l’interface d’administration OLFEO SaaS
Conseil : ouvrez le fichier XML dans un éditeur de texte ou de code pour vérifier que le format est correct avant import.
Synchronisation des utilisateurs depuis Active Directory
- Dans votre Realm, ouvrez User Federation > Add provider > ldap.
- Remplissez :
- Connection URL (ex. : ldap://ad.mondomaine.fr:389)
- Bind DN et Bind Credential
- User DN (le conteneur où sont stockés les comptes)
- Activez Read Only si vous ne souhaitez pas créer ou modifier des comptes depuis Keycloak.
- Cliquez sur Test connection puis Save.
- Lancez un Sync manuel pour vérifier l’import des utilisateurs.

Message de succès attendu :
Vérifications et résolution d’erreurs
- Email as username Dans Realm Settings > Login, activez Email as username pour utiliser l’adresse e-mail comme identifiant de connexion.

- Erreur Invalid requester Si lors de la première connexion la mire Keycloak vous renvoie l’érreur Invalid requester, retournez dans Clients > Keys et désactivez la signature de la clé.

