Configurer SAML avec Keycloak¶
Cette page explique comment intégrer Keycloak comme fournisseur d’identité SAML pour authentifier vos utilisateurs sur Reemo.
Important
Cette fonctionnalité est disponible à partir de la formule Enterprise.
Note
Configurer SAML dans Reemo¶
Configurer SAML à Connectors dans l’Admin Area de l’instance.¶
Configurer SAML dans Organization > Connectors.¶
Créer le connecteur SAML côté Reemo¶
Créez un nouveau Connecteur de type SAML Connector.
Renseignez les champs de base :
Friendly Name : nom affiché à vos utilisateurs (ex. Keycloak).
Issuer / App URI ID :
reemo.Les autres champs (ex. Entry Point, Certificate) 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.¶
Validez 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 l’Entry Point (SSO URL) :
Certificat : depuis Realm settings > Keys > ligne RS256 > bouton Certificate. Copiez le contenu base64 brut.
Entry Point : 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.
Provisionner des utilisateurs SAML directement dans l’organisation.¶
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.¶
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]
Sélectionner SAML puis Next pour être redirigé vers Keycloak.¶