
Introduction
Les entreprises qui déploient Affilentra en self‑hosted ont souvent besoin d'une authentification centrale via SSO (SAML ou OIDC) afin d'unifier la gestion des utilisateurs, la conformité et la convivialité. Ce guide explique comment connecter Affilentra de manière à séparer clairement les rôles, provisionner automatiquement les utilisateurs et gérer en toute sécurité les cycles de vie des sessions et des jetons. Approche pratique, axée sur les rôles et directement applicable.
Vue d'ensemble : Pourquoi le SSO dans Affilentra ?
Affilentra propose une architecture de rôles avec trois acteurs centraux : l'exploitant logiciel (opérateur de plateforme), les commerçants (Merchants) et les partenaires (Publisher/Creator). Le SSO apporte trois avantages : gestion centralisée des identités, contrôle d'accès cohérent et audits simplifiés. En exploitation self‑hosted, vous conservez le contrôle total (licence perpétuelle, pas de partage du chiffre d'affaires) tout en vous raccordant aux infrastructures IdP existantes.
Prérequis et décisions d'architecture
- Choisissez l'IdP : IdP SAML (par ex. ADFS, Shibboleth) ou fournisseur OIDC/OAuth (par ex. Keycloak, Auth0, Azure AD).
- Décidez du modèle d'authentification : IdP‑only (centralisé) ou mode hybride (compte local en secours).
- Préparez des chemins de connexion sécurisés : HTTPS, certificats à jour, synchronisation horaire/clock‑sync.
Étapes pour l'intégration SAML
1) Échange des métadonnées : créez les métadonnées du Service Provider (SP) Affilentra (EntityID, URL du Assertion Consumer Service, format NameID souhaité) et importez les métadonnées de l'IdP dans Affilentra.
2) Signature & chiffrement : activez la vérification de la signature des assertions et vérifiez les certificats de signature de l'IdP via empreinte/PEM. Si disponible, utilisez des assertions chiffrées.
3) Définition des attributs : demandez à l'IdP d'envoyer les attributs suivants :
- uid ou sub – identifiant unique de l'utilisateur
- email – contact/clé primaire pour le matching
- roles ou entitlement – rôles/groupes
- givenName / sn – informations d'affichage
4) Mapping dans Affilentra : configurez dans Affilentra la manière dont les attributs se traduisent en rôles internes (voir le mapping des rôles ci‑dessous). Activez éventuellement le provisionnement Just‑In‑Time afin que les nouveaux utilisateurs soient créés automatiquement avec des droits de base.
5) Tests : validez le contenu des assertions, les fenêtres temporelles (NotBefore/NotOnOrAfter) et vérifiez la déconnexion (initiée par l'IdP / initiée par le SP).
Étapes pour l'intégration OIDC
1) Découverte & identifiants : renseignez Client‑ID, Client‑Secret et Redirect URI à la fois dans l'IdP et dans Affilentra. Utilisez .well‑known/openid-configuration pour automatiser la configuration.
2) Scopes & claims : demandez au minimum openid et profile/email. Claims additionnels pour les rôles : roles, groups ou claims personnalisés via UserInfo.
3) Validation des ID Token : vérifiez l'issuer, l'audience (client_id), le nonce (pour Authorization Code Flow optionnel si SPA) et la signature (JWKs).
4) Gestion des tokens : utilisez Authorization Code Flow avec PKCE pour les clients web et des Refresh Tokens rotatifs pour les sessions longues (voir Token‑Lifecycle).
5) Provisioning & Mapping : dès qu'un ID Token / UserInfo est disponible, mappez les claims vers des comptes utilisateurs internes comme pour SAML.
Mapping des rôles : attribution précise dans Affilentra
L'objectif : chaque rôle externe conduit de manière déterministe à un rôle interne avec les autorisations appropriées.
- Opérateur logiciel : attribuez ce rôle uniquement si l'IdP fournit le claim admin_level ou une appartenance à un groupe spécifique. Les opérateurs logiciels disposent de droits d'administration à l'échelle de la plateforme – cette attribution doit être strictement contrôlée et restreinte à quelques groupes IdP.
- Commerçant (Merchant) : mappez les groupes IdP ou un claim merchant_id → compte commerçant interne. Les comptes commerçants doivent être liés à un objet Merchant distinct dans Affilentra.
- Partenaire : les rôles de partenariat (partner, publisher) devraient contenir un claim partner_id ou affiliation. Les partenaires reçoivent des liens de tracking personnels et un accès à l'historique des paiements – cette attribution est très granulaire.
Règles pratiques :
- Priorité en cas de multi‑rôles : définissez une hiérarchie (par ex. Opérateur logiciel > Commerçant > Partenaire) ou autorisez la liaison Multi‑Account.
- Linking : utilisez sub/uid + email pour l'association. Si un compte local existe déjà, proposez un workflow de liaison/matching au lieu de créer un nouveau compte.
- Principe du moindre privilège : attribuez par défaut uniquement le rôle de base ; les droits avancés via les groupes IdP ou une revue manuelle.
Gérer en toute sécurité le cycle de vie des sessions et des tokens
Un contrôle de session sécurisé est essentiel pour éviter que le SSO ne devienne une vulnérabilité.
Access Tokens
- Court terme : les Access Tokens doivent être de courte durée (par ex. quelques minutes à quelques heures).
- Vérification : validation côté serveur (signature, aud, exp) à chaque requête pertinente.
Refresh Tokens
- Rotation : implémentez des Refresh Tokens rotatifs afin que les tokens compromis deviennent invalides.
- Stockage sécurisé : stockez les Refresh Tokens uniquement côté serveur ou dans des cookies HttpOnly et Secure ; évitez le stockage côté client pour les applications web.
Sessions
- Stockage de session côté serveur : privilégiez un store de sessions centralisé et chiffré (Redis, base de données) plutôt qu'un JWT pur pour les sessions longues.
- Timeout inactif vs. absolu : combinez un timeout inactif (par ex. 30‑60 min) et un timeout absolu (par ex. plusieurs heures/jours) selon le niveau de sécurité requis.
Déconnexion & révocation
- Déconnexion initiée par le RP : implémentez des redirections vers le endpoint de déconnexion de l'IdP et supprimez les sessions locales.
- Déconnexion centralisée initiée par l'IdP : prenez en charge le SAML Single Logout ou les Front/Backchannel Logout d'OIDC pour une déconnexion centrale.
- Révocation de tokens : utilisez les endpoints de révocation de tokens de l'IdP, si nécessaire en cas de retrait d'utilisateur ou de compromission.
Sécurité & exploitation
- Monitoring & audit : consignez les connexions, le contenu des assertions/ID Token (non sensibles), les révocations de tokens et les événements de provisioning. Conservez une piste d'audit pour la traçabilité.
- Synchronisation d'horloge : assurez NTP ; les vérifications d'authentification sont sensibles au temps.
- Privilège minimal pour les administrateurs : seuls quelques comptes avec droits globaux ; imposer l'authentification multi‑facteurs (MFA) pour les admins.
- Tests : testez la bascule (panne d'IdP), le décalage horaire, les variations de claims et les attributs inattendus.
Exemple pratique : flux d'intégration typique
- Choisir l'IdP et exporter les métadonnées/la configuration.
- Créer un SP/client dans Affilentra, renseigner l'URL de redirection/ACS, déposer les certificats.
- Configurer le mapping d'attributs dans Affilentra : sub → extern_id, email → email, roles → role.
- Activer le provisionnement Just‑In‑Time et définir les droits initiaux.
- Configurer la politique de tokens/sessions (durées de vie, rotation des refresh, gestion des déconnexions).
- Tester de bout en bout avec un compte opérateur logiciel, un compte marchand et un compte partenaire.
- Activer la journalisation d'audit et documenter.
Avantage Affilentra pour l'intégration SSO
Affilentra (PRO & NETWORK éditions, self‑hosted, licence perpétuelle) fournit la structure de plateforme basée sur les rôles et les hooks pour les fournisseurs SAML/OIDC. La séparation claire entre opérateur logiciel, marchand et partenaire facilite le mapping des rôles, et l'installation self‑hosted vous donne le contrôle complet sur le stockage des tokens, les politiques de session et les audits sans participation aux revenus.
Conclusion et prochaine étape
L'intégration de SAML ou OIDC dans Affilentra offre des fonctions Single Sign‑On sécurisées et évolutives tout en préservant la séparation des rôles entre exploitant de plateforme, marchands et partenaires. Se concentrer sur un mapping correct des claims/attributs, des Access Tokens de courte durée, des stratégies sécurisées pour les Refresh Tokens et des processus d'audit complets réduit les risques et augmente la résilience opérationnelle.
Commencez maintenant : décidez de l'architecture d'authentification souhaitée et choisissez votre point d'entrée – choisir un point d'entrée : https://affilentra.de
Pour toute question sur la configuration concrète dans votre infrastructure, Affilentra propose une assistance technique d'intégration pour les installations self‑hosted.
Prochaine étape
Essayer Affilentra vous‑même
Plateforme unifiée réunissant de manière transparente la mise à disposition des produits, le tracking, la validation des conversions, le calcul des commissions et les paiements selon des rôles clairement séparés ; option d'installation auto-hébergée avec licence perpétuelle sans partage du chiffre d'affaires ; les marchands conservent le contrôle des produits, des conditions et des supports promotionnels ; les partenaires reçoivent des liens de suivi personnels et un historique des paiements traçable.
