Configurer SAML 2.0 avec Auth0 : guide complet pour l'entreprise

SAML 2.0 reste le standard dominant en entreprise pour la fédération d'identité. Apprenez à configurer Auth0 comme SP et comme IdP, les métadonnées XML, et les assertions.

Par Auth0.Expert · 2025-01-20 · 16 min de lecture

SAML Enterprise SSO Fédération

SAML 2.0 avec Auth0 : guide enterprise

TL;DR

SAML 2.0 est le protocole SSO dominant dans les grandes entreprises (Salesforce, Workday, SAP). Auth0 joue à la fois le rôle de Service Provider (SP) et d'Identity Provider (IdP). Ce guide couvre les deux sens.

---

Pourquoi SAML persiste en entreprise

Avant d'aller plus loin, rappelons pourquoi SAML reste incontournable dans de nombreux environnements IT d'entreprise.

Point de douleur : 73% des migrations SAML échouent au premier essai à cause des métadonnées mal configurées. Les erreurs les plus communes :

---

Auth0 comme Service Provider (SP)

Dans cette section, nous voyons comment intégrer Auth0 avec une source d'identité tierce via SAML.

Scénario : vos utilisateurs ont un compte Azure AD / Okta / ADFS et veulent se connecter à votre app via Auth0.

1. Créer une connexion SAML dans Auth0

Ce bloc montre comment configurer une nouvelle connexion SAML sur le dashboard Auth0 en précisant l'endpoint, le certificat, et le mapping des champs utilisateur.

// Dashboard → Connections → Enterprise → SAML
{
  "signInEndpoint": "https://login.microsoftonline.com/TENANT_ID/saml2",
  "signingCert": "-----BEGIN CERTIFICATE-----
MIIC...
-----END CERTIFICATE-----",
  "signRequest": true,
  "digestAlgorithm": "sha256",
  "signatureAlgorithm": "rsa-sha256",
  "fieldsMap": {
    "email": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress",
    "name": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name",
    "given_name": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname"
  }
}

2. Récupérer les métadonnées Auth0 SP

Ici, vous accédez à l'URL pour télécharger le fichier XML de métadonnées SAML de votre connexion, à remettre à votre fournisseur d'identités (IdP).

https://YOUR_DOMAIN.auth0.com/samlp/metadata?connection=SAML_CONNECTION_NAME

Fournissez ce XML à votre IdP externe pour la configuration.

3. Tester l'assertion SAML

Ce snippet permet de décoder une assertion SAML encodée en Base64 pour l'analyser facilement lors des tests.

# Décoder une assertion SAML Base64
echo "PHNhbWxwOlJlc3BvbnNlIC..." | base64 -d | xmllint --format -

---

Auth0 comme Identity Provider (IdP)

Voyons maintenant comment Auth0 peut émettre lui-même des assertions SAML pour des applications externes.

Scénario : une application tierce (Salesforce, Zendesk) veut utiliser Auth0 comme source de vérité.

1. Activer SAML addon dans Auth0

Ce code illustre la configuration du plugin SAML2 Web App dans Auth0, avec les paramètres d’audience, de recipient, le mapping des attributs SAML et le format du NameID.

{
  "audience": "https://saml.salesforce.com",
  "recipient": "https://login.salesforce.com/sso/saml/login",
  "mappings": {
    "email": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress",
    "given_name": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname",
    "family_name": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname"
  },
  "nameIdentifierFormat": "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress",
  "nameIdentifierProbes": ["http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"]
}

Cette configuration permet d'adapter Auth0 au besoin de chaque application entreprise.

2. URL IdP Auth0

Les URLs ci-dessous servent au paramétrage SAML de l'application cible, pour pointer vers Auth0 comme IdP.

SSO URL:  https://YOUR_DOMAIN.auth0.com/samlp/APPLICATION_CLIENT_ID
Metadata: https://YOUR_DOMAIN.auth0.com/samlp/metadata/APPLICATION_CLIENT_ID

---

Anatomie d'une assertion SAML

Ce bloc montre la structure XML d'une réponse SAML typique, avec les éléments clés comme le subject, l'audience, la condition de validité, et les attributs.

<samlp:Response xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
                ID="_abc123" Version="2.0"
                IssueInstant="2025-01-20T10:00:00Z"
                Destination="https://app.example.com/callback">
  <saml:Issuer>https://YOUR_DOMAIN.auth0.com/</saml:Issuer>
  <samlp:Status>
    <samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
  </samlp:Status>
  <saml:Assertion>
    <saml:Subject>
      <saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress">
        [email protected]
      </saml:NameID>
    </saml:Subject>
    <saml:Conditions NotBefore="2025-01-20T09:55:00Z" NotOnOrAfter="2025-01-20T10:05:00Z">
      <saml:AudienceRestriction>
        <saml:Audience>https://saml.salesforce.com</saml:Audience>
      </saml:AudienceRestriction>
    </saml:Conditions>
    <saml:AttributeStatement>
      <saml:Attribute Name="email">
        <saml:AttributeValue>[email protected]</saml:AttributeValue>
      </saml:Attribute>
    </saml:AttributeStatement>
  </saml:Assertion>
</samlp:Response>

Ce code détaille l’échange d’identité sécurisé SAML du login à l’attribution des droits.

---

Tableau des erreurs SAML fréquentes

Voici un tableau récapitulatif des erreurs SAML les plus courantes, pour vous aider à diagnostiquer rapidement les problèmes lors de l’intégration ou de la migration.

| Erreur | Cause probable | Solution | |--------|---------------|----------| | InResponseTo mismatch | Requête expirée | Réduire le timeout session | | Audience Invalid | Mauvaise SP Entity ID | Vérifier audience dans Auth0 | | Signature verification failed | Mauvais certificat | Reimporter le certificat IdP | | NotOnOrAfter in the past | Décalage NTP | Synchroniser les horloges (< 5min) | | NameID format unsupported | Format incompatible | Changer nameIdentifierFormat |

---

Fonctionnalités Auth0 SAML avancées

Cette section met en avant les fonctionnalités avancées offertes par Auth0 pour les intégrations SAML en contexte entreprise.

---

Migration ADFS → Auth0 : notre approche

Pour les entreprises migrantes d’ADFS vers Auth0, voici notre méthode structurée assurant sécurité et continuité de service.

Notre équipe a migré des dizaines d'entreprises d'ADFS vers Auth0 avec zéro downtime. Nous fournissons :

  1. Audit de vos Relying Party Trusts existants
  2. Migration des attributs et claim rules
  3. Tests de non-régression automatisés
  4. Documentation de chaque application migrée

📞 +33 1 23 45 67 89 · 📧 [email protected]


Autres articles