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

Selon votre mode de déploiement, l’activation SAML peut se faire au niveau de l’instance (Private Cloud / On-Prem) ou au niveau de l’organisation (Public Cloud).
Les captures d’écran et libellés peuvent varier légèrement selon vos versions d’interface.

Configurer SAML dans Reemo

Cas 1 : Activation au niveau de l’instance (Private Cloud / On-Prem)
Configurez SAML depuis l’Admin Area de l’instance, menu Connectors.
Configurer SAML dans l'Admin Area de l'instance

Configurer SAML à Connectors dans l’Admin Area de l’instance.

Cas 2 : Activation au niveau de l’organisation (Public Cloud)
Depuis votre Organisation > Connectors, configurez SAML pour cette organisation.
Configurer SAML dans l'Admin Area de l'instance

Configurer SAML dans Organization > Connectors.

Créer le connecteur SAML côté Reemo

  1. Créez un nouveau Connecteur de type SAML Connector.

  2. 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.

Création d'un connecteur SAML dans Reemo

Renseigner les champs de base du connecteur SAML.


Formulaire de création du connecteur SAML

Renseigner le nom convivial et l’Issuer (reemo), puis enregistrer.

  1. Validez pour générer l’URL de callback du connecteur. Vous en aurez besoin dans Keycloak.

Récupération de l'URL de callback du connecteur

Copier l’URL de callback générée par le connecteur SAML.

Configurer le client SAML dans Keycloak

  1. Connectez-vous à votre Admin Console Keycloak.

  2. Sélectionnez le Realm cible dans le menu déroulant en haut à gauche.

  3. Dans le menu de gauche, allez dans Clients > Create client.

Création d'un client SAML dans Keycloak

Créer un nouveau client SAML dans Keycloak.

  1. Renseignez les paramètres du client :

    • Client type : SAML.

    • Client ID : reemo.

Création d'un client SAML dans Keycloak

Renseigner le type et le Client ID.

  1. 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.

    Paramètres du client SAML Keycloak

    Renseigner les redirect URIs, la Master SAML Processing URL.

    • Sign documents : ON.

    • Sign assertions : ON.

    Paramètres du client SAML Keycloak

    Activer Sign documents et Sign assertions.

  2. 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 Keycloak

Désactiver Client signature required dans l’onglet Keys du client.

  1. 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

    username

    username

    User Property

    email

    email

    email

    User Attribute

    fullname

    fullname

    fullname

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.

Mappers d'attributs SAML Keycloak
Mappers d'attributs SAML Keycloak
Mappers d'attributs SAML Keycloak

Configurer les mappers email, username et fullname dans les Client scopes.

  1. 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.

Certificat X.509 et URL SSO Keycloak

Récupérer le certificat RS256 du Realm dans Realm settings > Keys.

  1. 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.

Approche A : Provisionnement explicite depuis l’organisation
Utilisez le bouton Provision SAML User pour ajouter des utilisateurs en renseignant leur e-mail.
Bouton de provisionnement SAML User dans l'organisation

Provisionner des utilisateurs SAML directement dans l’organisation.

Popup d'ajout d'utilisateurs SAML par e-mail

Ajouter des utilisateurs par e-mail via la popup de provisionnement.

Approche B : Just-In-Time (JIT) Provisioning
Activez Just In Time Provisioning sur le connecteur : les comptes sont créés automatiquement lors de la première connexion SSO réussie.
Option Just In Time Provisioning

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]
    
Écran de choix d'authentification SSO

Sélectionner SAML puis Next pour être redirigé vers Keycloak.