Configurer SAML avec Authentik

Cette page explique comment intégrer Authentik comme fournisseur d’identité SAML pour authentifier vos utilisateurs sur Reemo.

Note

Selon votre mode de déploiement, l’activation SSO 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 SSO dans Reemo

Cas 1 : Activation au niveau de l’instance (Private Cloud / On-Prem)
Depuis verified_user Zone d’administration > dashboard Général > passkey Connecteurs SSO, configurez SSO pour l’instance.
Accéder aux Connecteurs SSO dans la Zone d'administration de l'instance

Accéder à Connecteurs SSO dans la Zone d’administration de l’instance.

Cas 2 : Activation au niveau de l’organisation (Public Cloud)
Depuis domain Organisation > dashboard Général > passkey Connecteurs SSO, configurez SSO pour cette organisation.
Accéder aux Connecteurs SSO au niveau de l'organisation

Configurer SSO dans Organisation > Connecteurs SSO.

Créer le connecteur SAML côté Reemo

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

  2. Renseignez les champs de base :

    • Nom convivial : nom affiché à vos utilisateurs (ex. Authentik).

    • Émetteur / ID URI de l’application : reemo.

    • Point d’entrée IP : sera complété après la configuration d’Authentik.

    • URL de déconnexion de l’IdP et Protocole de déconnexion (optionnel) : voir la section Configurer la déconnexion côté fournisseur d’identité plus bas.

    • Certificat IP : sera complété après la configuration d’Authentik.

    • Mappage des attributs : noms d’attributs que Reemo attend dans l’assertion SAML (par défaut email, username, fullname) — vous les retrouverez à l’identique dans les Property Mappings à créer côté Authentik.

  3. Cliquez sur Créer pour générer l’URL de callback du connecteur. Vous en aurez besoin dans Authentik.

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

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

Configurer l’application SAML dans Authentik

Connectez-vous à l’interface d’administration d’Authentik (https://[authentik_url]/if/admin/).

1. Créer les mappings d’attributs (Property Mappings)

Reemo lit, depuis l’assertion, les attributs définis dans le Mappage des attributs du connecteur (par défaut email, username et fullname). Authentik n’expose pas ces noms courts par défaut : vous devez créer trois Property Mappings dédiés.

Dans le menu Customization > Property Mappings, cliquez sur Create > SAML Provider Property Mapping, puis créez les trois mappings suivants :

Name

SAML Attribute Name

Expression

reemo email

email

return request.user.email

reemo username

username

return request.user.username

reemo fullname

fullname

return request.user.name

Warning

Le champ SAML Attribute Name doit correspondre exactement aux noms d’attributs du connecteur Reemo (email, username, fullname). Sans cette correspondance, les attributs arrivent sous un autre nom dans l’assertion et Reemo les ignore.

Création d'un Property Mapping SAML dans Authentik

Renseigner le SAML Attribute Name et l’expression du mapping.

Liste des Property Mappings reemo

Les trois mappings email, username et fullname une fois créés.

2. Créer l’application et le provider SAML

Dans le menu Applications > Applications, cliquez sur Create with Wizard.

Créer une application dans Authentik

Démarrer l’assistant de création d’application.

Suivez l’assistant :

  • Application : Name = reemo, Slug = reemo.

  • Provider Type : SAML Provider.

  • Protocol settings :

    • ACS URL : collez l’URL de callback du connecteur Reemo.

    • Audience : reemo (identique à l’Émetteur / ID URI de l’application du connecteur Reemo).

  • Advanced protocol settings :

    • Signing Certificate : sélectionnez un certificat (ex. authentik Self-signed Certificate).

    • Sign assertions : ON.

    • Sign responses : ON.

    • Verification Certificate : laissez vide.

    • Property Mappings : sélectionnez reemo email, reemo username et reemo fullname.

    • NameID Property Mapping : authentik default SAML Mapping: Email.

    • Service Provider Binding : Post.

Warning

Laissez le champ Verification Certificate vide. Reemo ne signe pas ses requêtes SAML sortantes ; si un certificat de vérification est défini, Authentik rejettera les requêtes d’authentification.

Configuration du provider SAML Authentik

Certificat de signature, Sign assertions/responses, Property Mappings et NameID du provider.

3. Récupérer le certificat et le Point d’entrée IP

Ouvrez le provider (Applications > Providers > reemo). L’onglet Overview fournit tout ce dont Reemo a besoin :

  • Certificat : bouton Download signing certificate (ou System > Certificates). Ouvrez le fichier et copiez le contenu base64 brut.

  • Point d’entrée IP : le champ SAML Endpoint, au format :

    https://[authentik_url]/application/saml/[slug]/
    

Warning

Collez uniquement le base64 brut du certificat de signature, sinon Reemo ne pourra pas valider les assertions signées.

Overview du provider SAML Authentik

Récupérer le certificat de signature, le SAML Endpoint et l’ACS URL.

Complétez le connecteur SAML de Reemo avec ces informations (Point d’entrée IP et Certificat IP). 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
Depuis verified_user Zone d’administration > domain Organisations, sélectionnez votre organisation, puis accédez à inventory_2 Inventaire > person Utilisateurs et cliquez sur Nouvel utilisateur > Provisionner un utilisateur SAML pour ajouter des utilisateurs en renseignant leur e-mail.
Menu Nouvel utilisateur avec l'option Provisionner un utilisateur SAML

Choisir Provisionner un utilisateur SAML depuis le menu Nouvel utilisateur.

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
Depuis verified_user Zone d’administration > domain Organisations, sélectionnez votre organisation, puis accédez à dashboard Général > passkey Connecteurs SSO, cliquez sur le connecteur puis activez Provisionnement Juste-à-Temps activé : 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.

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 Authentik

  1. Créez un Property Mapping SAML dédié (Customization > Property Mappings > Create > SAML Provider Property Mapping) :

    • Name : reemo groups

    • SAML Attribute Name : groups

    • Expression :

      for group in request.user.groups.all():
          yield group.name
      
  2. Ajoutez ce mapping reemo groups aux Property Mappings du provider reemo (Advanced protocol settings).

  3. Créez vos groupes dans Directory > Groups et ajoutez-y les utilisateurs. Le nom du groupe est la valeur transmise dans l’attribut groups.

Warning

N’utilisez pas le mapping prédéfini authentik default SAML Mapping: Groups : il émet l’attribut sous le nom http://schemas.xmlsoap.org/claims/Group, que Reemo ne reconnaît pas via le nom court groups. Utilisez le mapping custom ci-dessus.

Dans Reemo

  1. Ouvrez la fiche du connecteur SSO en allant dans Zone d’administration > Général > Connecteurs SSO.

  2. Dans les paramètres du connecteur, allez à la section Mappage supplémentaire.

  3. Dans le champ Collections, saisissez le nom d’attribut de groupe configuré dans Authentik (ex. groups), puis cliquez sur Mettre à jour.

Section Mappage supplémentaire dans le connecteur SSO Reemo

Saisir le nom d’attribut de groupe dans le champ Collection du Mappage supplémentaire.

  1. 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 Authentik et applique automatiquement les droits sur les collections.

Configurer la déconnexion côté fournisseur d’identité

Le connecteur SAML propose deux champs additionnels pour déconnecter automatiquement l’utilisateur de son fournisseur d’identité (IdP) au moment où il se déconnecte de Reemo : une URL de déconnexion de l’IdP et un protocole de déconnexion.

  • Redirection vers l’URL ci-dessus (par défaut) : le navigateur est simplement redirigé vers l’URL renseignée. Convient à n’importe quel fournisseur exposant un endpoint de déconnexion qui répond à une simple requête GET, sans configuration supplémentaire de son côté.

  • Déconnexion unique SAML (LogoutRequest signé) : Reemo signe une véritable requête LogoutRequest construite à partir du sujet de la session, et traite aussi bien la LogoutResponse renvoyée par le fournisseur qu’un LogoutRequest que celui-ci initierait lui-même. C’est le seul mode qui fonctionne avec un fournisseur dont l’endpoint de déconnexion est le même que celui de connexion (ex. Microsoft Entra ID, Keycloak) : cet endpoint attend une requête SAML signée, pas un simple GET.

Note

Ces deux champs sont optionnels et rétro-compatibles : le protocole vaut Redirection vers l’URL ci-dessus par défaut, donc les connecteurs existants ne changent pas de comportement. La stratégie de connexion (login) n’est jamais affectée, et un échec de déconnexion côté fournisseur ne bloque jamais la déconnexion de l’utilisateur dans Reemo.

La Déconnexion unique SAML nécessite qu’une clé de fournisseur de service existe pour ce connecteur : sans elle, il retombe automatiquement sur le mode Redirection vers l’URL ci-dessus. Reemo génère cette paire de clés par connecteur — la clé privée ne quitte jamais le serveur — et le certificat correspondant, à déclarer côté fournisseur, est affiché dans la liste des connecteurs SSO.

Warning

La Déconnexion unique SAML demande deux déclarations côté fournisseur d’identité : une URL de callback de déconnexion vers Reemo (son format dépend du fournisseur — voir le guide correspondant) et le certificat de signature du connecteur, affiché dans la liste des connecteurs SSO. Sans ces deux déclarations, le fournisseur rejette le LogoutRequest signé par Reemo.

Warning

En mode Déconnexion unique SAML, réglez l’URL de déconnexion de l’IdP selon votre fournisseur :

  • Laissez-la vide si votre fournisseur sert la déconnexion sur son endpoint de connexion (ex. Microsoft Entra ID, Keycloak). Reemo réutilise alors le Point d’entrée IP déjà configuré.

  • Renseignez-la si votre fournisseur expose un endpoint de déconnexion distinct (ex. Okta).

Warning

La déconnexion déclenchée côté fournisseur d’identité ferme la session de navigateur pour l’ensemble du fournisseur, pas seulement pour Reemo. Un utilisateur qui a d’autres onglets ouverts sur le même fournisseur (ex. les autres services Microsoft) en sera également déconnecté.

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

Onglet SSO sur l'écran de connexion

Sélectionner l’onglet SSO, puis cliquer sur Se connecter.