Configurer SAML avec Keycloak¶
Cette page explique comment intégrer Keycloak comme fournisseur d’identité SAML pour authentifier vos utilisateurs sur Reemo.
Note
Configurer SAML dans Reemo¶
Accéder à Connecteurs SSO dans la Zone d’administration de l’instance.¶
Configurer SAML dans Organisation > Connecteurs SSO.¶
Créer le connecteur SAML côté Reemo¶
Depuis verified_user Zone d’administration > domain Organisations, sélectionnez votre organisation, puis accédez à dashboard Général > passkey Connecteurs SSO et cliquez sur Nouveau connecteur > Nouveau connecteur SAML.
Renseignez les champs de base :
Nom convivial : nom affiché à vos utilisateurs (ex. Keycloak).
Émetteur / ID URI de l’application :
reemo.Mappage des attributs : noms d’attributs que Reemo attend dans l’assertion SAML (par défaut
email,username,fullname).Les autres champs (ex. Point d’entrée IP, Certificat IP) seront complétés après la configuration Keycloak.
Renseigner les champs de base du connecteur SAML.¶
Renseigner le nom convivial et l’Issuer (reemo), puis enregistrer.¶
Cliquez sur Créer pour générer l’URL de callback du connecteur. Vous en aurez besoin dans Keycloak.
Copier l’URL de callback générée par le connecteur SAML.¶
Configurer le client SAML dans Keycloak¶
Connectez-vous à votre Admin Console Keycloak.
Sélectionnez le Realm cible dans le menu déroulant en haut à gauche.
Dans le menu de gauche, allez dans Clients > Create client.
Créer un nouveau client SAML dans Keycloak.¶
Renseignez les paramètres du client :
Client type : SAML.
Client ID :
reemo.
Renseigner le type et le Client ID.¶
Dans les paramètres du client, configurez :
Valid redirect URIs : collez l’URL de callback du connecteur Reemo.
Master SAML Processing URL : collez l’URL de callback du connecteur Reemo.
Renseigner les redirect URIs, la Master SAML Processing URL.¶
Sign documents : ON.
Sign assertions : ON.
Activer Sign documents et Sign assertions.¶
Allez dans l’onglet Keys du client et désactivez l’option Client signature required.
Warning
Reemo ne signe pas les requêtes SAML sortantes. Si Client signature required reste activé, Keycloak rejettera les requêtes d’authentification.
Désactiver Client signature required dans l’onglet Keys du client.¶
Allez dans l’onglet Client scopes > cliquez sur le scope dédié (ex.
reemo-dedicated) > Add mapper > By configuration.Ajoutez les mappers d’attributs suivants :
Mapper type
Name
Property
SAML Attribute Name
User Property
username
usernameusername
User Property
email
emailemail
User Attribute
fullname
fullnamefullname
Warning
Le champ SAML Attribute Name est obligatoire sur chaque mapper. Sans lui, les attributs arrivent anonymes dans la réponse SAML et Reemo les rejette.
Warning
Keycloak ne propose pas de concaténation native de prénom et nom. Vous devez créer un attribut custom fullname sur chaque utilisateur dans la console Keycloak.
Configurer les mappers email, username et fullname dans les Client scopes.¶
Récupérez le certificat X.509 et le Point d’entrée IP (SSO URL) :
Certificat : depuis Realm settings > Keys > ligne RS256 > bouton Certificate. Copiez le contenu base64 brut.
Point d’entrée IP : suit le format :
https://[keycloak_url]/realms/[realm]/protocol/saml
Warning
Utilisez bien le certificat RS256 du Realm, et non celui du client. Collez uniquement le base64 brut, sinon Reemo ne pourra pas valider les assertions signées.
Récupérer le certificat RS256 du Realm dans Realm settings > Keys.¶
Complétez le connecteur SAML de Reemo avec ces informations. Activez le connecteur (case Enabled) puis cliquez sur Update pour enregistrer.
Déclarer les utilisateurs¶
Deux approches sont possibles pour donner l’accès SSO aux utilisateurs.
Choisir Provisionner un utilisateur SAML depuis le menu Nouvel utilisateur.¶
Ajouter des utilisateurs par e-mail via la popup de provisionnement.¶
Activer Just In Time Provisioning pour créer les comptes à la première connexion.¶
Gérer les droits dynamiquement depuis l’annuaire¶
Cette configuration permet à Reemo de lire l’appartenance de chaque utilisateur à un groupe de l’annuaire d’entreprise et d’affecter automatiquement l’accès aux collections correspondantes, sans provisionnement manuel dans Reemo.
Dans Keycloak
Dans le menu Clients, ouvrez votre client (ex.
reemo), allez dans l’onglet Client scopes et cliquez sur le scope dédié (ex.reemo-dedicated) > Add mapper > By configuration.Sélectionnez Group list dans la fenêtre de configuration du mapper.
Sélectionner Group list dans la fenêtre de configuration du mapper.¶
Configurez le mapper avec les champs suivants :
Name : un libellé pour ce mapper (ex.
groups).Group attribute name : le nom de l’attribut envoyé dans l’assertion SAML (ex.
groups).Single Group Attribute : Off.
Full group path : Off.
Renseigner le Name, le Group attribute name, et laisser les deux bascules sur Off.¶
Enregistrez le mapper. Il apparaît maintenant dans la liste des mappers aux côtés des autres mappers d’attributs.
Le mapper groups apparaît en tant que Group Mapper / Group list.¶
Dans Reemo
Ouvrez la fiche du connecteur SSO en allant dans Zone d’administration > Général > Connecteurs SSO.
Dans les paramètres du connecteur, allez à la section Mappage supplémentaire.
Dans le champ Collections, saisissez le nom d’attribut de groupe configuré dans Keycloak (ex.
groups), puis cliquez sur Mettre à jour.
Saisir le nom d’attribut de groupe dans le champ Collection du Mappage supplémentaire.¶
Dans Inventaire > Collections, sélectionnez une collection et cliquez sur Edit. Dans le champ SSO Mapping Identifier, saisissez le nom du groupe de l’annuaire correspondant.
Lors de la connexion via SAML, Reemo lit les groupes transmis par Keycloak et applique automatiquement les droits sur les collections.
Se connecter via SAML¶
Une fois le connecteur actif et les utilisateurs déclarés (ou JIT activé), vos utilisateurs peuvent se connecter :
Accès général à votre portail (Private Cloud / On-Prem) :
https://[portal_url]/
Accès direct à l’organisation (Public Cloud) :
https://[portal_url]/login/[organization_shortname]
Sur l’écran de connexion, sélectionnez l’onglet SSO, puis cliquez sur Se connecter pour être redirigé vers le fournisseur d’identité.
Sélectionner l’onglet SSO, puis cliquer sur Se connecter.¶