Configurer Auth0 en tant que fournisseur de services SAML

Pour configurer Auth0 en tant que fournisseur de services (SP) dans une fédération SAML, vous devez créer une connexion Entreprise dans Auth0, puis mettre à jour votre fournisseur d’identité SAML (IdP) avec les métadonnées de la connexion.

Auth0 prend en charge l’utilisation d’Auth0 en tant que SP dans les configurations conformes au protocole SAML 1.1 ou SAML 2.0.

Obtenir les métadonnées et le certificat du fournisseur d’identité

Vous devrez recueillir certaines métadonnées de configuration auprès du fournisseur d’identité pour créer une connexion dans Auth0 :

Champ Description
URL de connexion L’URL où les demandes d’authentification SAML sont envoyées. C’est également appelé point de terminaison d'authentification unique (SSO).
URL de déconnexion L’URL où les demandes de déconnexion SAML sont envoyées. C’est également appelé point de terminaison de déconnexion unique (SLO).
Certificat de signature X509 Le certificat de clé publique requis par le SP pour valider la signature des assertions d’authentification qui ont été signées numériquement par l’IDP. Auth0 accepte les formats .pem et .cer.

Créer une connexion SAML Entreprise dans Auth0

Vous pouvez créer une connexion SAML Entreprise dans le Auth0 Dashboard ou avec l’Auth0 Management API.

  1. Naviguez vers Auth0 Dashboard > Authentification > Entreprise, et sélectionnez SAML.

  2. Sélectionnez Create Connection (Créer une connexion).

  3. Configurez les paramètres suivants :

    Paramètre Description
    Nom de la connexion Saisissez un nom de connexion, comme SAML-SP.
    URL de connexion Saisissez Sign In URL que vous avez obtenue de l’IdP.
    Certificat de signature X509 Téléversez le fichier du certificat de signature X509 (au format .pem ou .cer) que vous avez obtenu de l’IdP.
    Activer la déconnexion Activez le champ _Sign Out URL.
    URL de déconnexion Saisissezez Sign Out URL obtenue de l’IdP.
    Attribut de l’identifiant d’utilisateur Saisissez l’attribut dans le jeton SAML qui sera mappé avec la propriété user_id dans Auth0. S’il n’est pas défini, la valeur user_id sera récupérée aux emplacements suivants (dans l’ordre énuméré) :
    • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier
    • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn
    • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
    Mode de débogage Activez le__Debug Mode__pour une connexion plus détaillée.
    Demande de signature Activez les requêtes d’authentification SAML signées.
    Algorithme de demande de signature Dans le menu déroulant, sélectionnez l’algorithme de hachage à utiliser.
    Recueil des algorithmes de demande de signature Dans le menu déroulant, sélectionnez l’algorithme à utiliser pour vérifier la validité de l’assertion.
    Liaison de protocole Dans le menu déroulant, sélectionnez l’une des options suivantes :
    • HTTP-Redirect : Active les messages à transmettre dans les paramètres d’URL.</li><li>HTTP-POST` : Active les messages à transmettre dans un formulaire HTML.
    Synchroniser les attributs du profil utilisateur à chaque connexion Activez la synchronisation des attributs du profil utilisateur à chaque connexion.

  4. Sélectionnez Create (Créer).

Configurer la connexion SAML pour les passerelles proxy

Si Auth0 se trouve derrière une passerelle proxy, vous devrez configurer les champs destinationUrl et recipientUrl de la connexion SAML en conséquence.

  1. Obtenez la configuration actuelle de votre connexion SAML avec le point de terminaison Obtenir une connexion de Management API.

  2. Copiez la valeur de l’objet options de la réponse renvoyée.

  3. Ajoutez les champs suivants à l’objet options :

    Champ Type Valeur
    destinationUrl Chaîne URL de la passerelle mandataire.
    recipientUrl Chaîne URL de la passerelle mandataire.

  4. Appelez le point de terminaison Mettre à jour une connexion de Management API avec l’objet options en entier mis à jour dans le corps de la demande.

Personnaliser le modèle de demande

Lorsque Auth0 envoie la demande d’authentification à l’IdP, le corps de la demande contient un objet AuthnRequest. Vous pouvez personnaliser le modèle utilisé pour cet objet :

  1. Accédez à Dashboard > Authentication (Authentification) > Enterprise (Entreprise) > SAML, et sélectionnez votre connexion.

  2. Passez à la vue Settings (Paramètres) et localisez le champ Request Template (Modèle de demande).

  3. Modifiez le modèle.

  4. Sélectionnez Sauvegarder les changements.

Variables de modèle

Vous pouvez placer des variables dans le modèle AuthnRequest en utilisant la syntaxe @@VariableName@@. Les variables suivantes sont disponibles :

Nom Description
AssertionConsumerServiceURL L’URL vers laquelle l’IdP envoie la réponse après la connexion de l’utilisateur. Veillez à inclure l’attribut ProtocolBinding dans la requête si vous l’utilisez.
Connection.<options-key> Utilisez la notation en point sur la clé Connection pour accéder à n’importe quelle valeur des options de la connexion, telle que retournée par le point de terminaison de l’Auth0 Management API Obtenir une connexion. Par exemple, si la connexion possède la valeur options.some_property: "value", alors vous pouvez utiliser @@Connection.some_property@@dans ce modèle.
ID L’identifiant de la transaction.
IssueInstant L’horodatage de la date de la transaction.
Issuer L’identifiant au format urn.

Par exemple, urn:auth0:<NOM_DE_VOTRE_LOCATAIRE_AUTH0>:<NOM_DE_VOTRE_CONNEXION>.
LoginHint Le nom d’utilisateur ou le courriel de l’utilisateur qui se connecte, si vous utilisez l’Authentification Identifier First, Auth0 peut envoyer cette valeur au fournisseur d’identité (IdP) pour qu’’elle soit préremplie dans le formulaire de connexion de l’IdP
ProtocolBinding Le type de liaison du protocole.
ProviderName Le nom de l’application qui a inité la requête. Cela retourne toujours le nom du locataire Auth0.
AssertServiceURLAndDestination Déconseillé. Pour les nouvelles configurations, utilisez plutôtAssertionConsumerServiceURL et Destination.

Configuration de l’IdP

Rendez-vous à Paramètres de configuration du fournisseur d’identités SAML pour trouver les métadonnées que vous devrez fournir à l’IdP.

Auth0 prend en charge tous les IdP SAML conformes au protocole SAML 1.1 ou SAML 2.0. Vous trouverez des instructions détaillées pour configurer des fournisseurs spécifiques :

Tester la connexion

Pour tester votre connexion dans le Dashboard :

  1. Accédez à Dashboard > Authentication (Authentification) > Enterprise (Entreprise) > SAML.

  2. Localisez la connexion que vous avez créée, sélectionnez l’icône de menu (trois points) et sélectionnez Try (Essayer).

  3. Une page de connexion universelle s’affiche et vous invite à saisir vos informations d’identification.

  4. Saisissez l’adresse courriel d’un utilisateur qui existe dans l’IdP. Si vous avez configuré la Home Realm Discovery (Découverte du domaine d’accueil), assurez-vous de saisir une adresse courriel qui utilise l’un des domaines spécifiés.

  5. Après avoir été redirigé vers l’écran de connexion de l’IdP, connectez-vous comme vous le feriez normalement.

  6. Vous serez redirigé vers une page sur Auth0 qui affiche le contenu de l’assertion d’authentification envoyée à Auth0 par l’IdP.

Dépannage de la connexion

Si votre connexion ne fonctionne pas comme prévu, essayez les étapes suivantes :

  • Effacez l’historique de votre navigateur, les témoins et la mémoire cache avant chaque test. Si vous ne le faites pas, le navigateur peut ne pas récupérer les dernières informations de configuration, ou il peut y avoir des témoins périmés qui affectent l’exécution.

  • Assurez-vous que votre navigateur autorise les témoins et que le JavaScript est activé.

  • Capturez un fichier HAR de la transaction, puis utilisez l’outil SAML Auth0 pour décoder l’assertion SAML et en inspecter le contenu.

En savoir plus