Skip to main content
Vous pouvez configurer Auth0 à la fois comme fournisseur de services (SP) et comme (IdP) pour tester votre connexion de (SSO).
Schéma des protocoles Auth0 comme SP et IdP SAML
Auth0 prend uniquement en charge l’utilisation d’Auth0 comme SP dans des configurations SAML avec SAML 1.1 ou SAML 2.0, tandis que vous pouvez utiliser Auth0 comme IdP dans des configurations SAML avec SAML 2.0. Vous pouvez configurer une application d’exemple simple à des fins de test qui utilise Auth0 pour authentifier les utilisateurs au moyen du SSO SAML, en utilisant un tenant comme SP SAML et un autre tenant comme IdP SAML. Vous configurerez deux fédérations pour un tenant.

Créer le tenant IdP

Si vous n’avez pas déjà un tenant Auth0 secondaire qui servira de SAML IdP, vous devrez en créer un :
  1. Allez au Auth0 Dashboard, sélectionnez le nom de votre tenant, puis cliquez sur Create Tenant.
    Menu déroulant du tenant dans le Dashboard — Create Tenant
  2. Saisissez un Domain, sélectionnez une Region, puis cliquez sur Create.

Configurer le tenant IdP

Configurez votre tenant secondaire comme IdP et enregistrez une application pour représenter votre tenant SP.
  1. Basculez vers votre tenant IdP. Ouvrez le menu du tenant, sélectionnez Switch Tenant, puis sélectionnez votre tenant IdP.
  2. Accédez à Dashboard > Applications > Applications et sélectionnez Create Application.
  3. Entrez un nom pour l’application, par exemple my-auth0-idp, sélectionnez Regular Web Application comme type d’application, puis sélectionnez Create.
  4. Au bas de la page Settings, sélectionnez Show Advanced Settings.
  5. Passez à la vue Certificates, puis sélectionnez Download Certificate et choisissez PEM. Le certificat sera téléchargé. Vous utiliserez ce certificat lorsque vous configurerez le tenant SP.
  6. Passez à la vue Endpoints, repérez SAML Protocol URL et copiez son contenu. Vous utiliserez cette URL lorsque vous configurerez le tenant SP.

Créer un utilisateur pour tester la séquence SAML

  1. Accédez à Dashboard > User Management > Users et sélectionnez Create User.
  2. Saisissez une adresse courriel pour votre utilisateur de test. Le domaine doit correspondre au domaine de courriel du tenant du fournisseur de services que vous configurerez ensuite. Par exemple, si votre utilisateur est john.doe@exampleco.com, vous devez saisir exampleco.com comme domaine de courriel.
  3. Saisissez un mot de passe pour l’utilisateur de test.
  4. Utilisez la valeur par défaut pour Connection.
  5. Sélectionnez Create.

Configurer le tenant SP

Configurez le tenant SP pour qu’il communique avec le tenant IdP pour le SSO à l’aide du protocole SAML.
  1. Basculez vers votre tenant SP. Ouvrez le menu du tenant, sélectionnez Switch Tenant, puis sélectionnez votre tenant SP.
  2. Accédez à Dashboard > Authentication > Enterprise et sélectionnez SAML.
  3. Sélectionnez Create Connection.
  4. Saisissez les renseignements suivants, puis sélectionnez Create :
  1. Passez à la vue Setup pour afficher les métadonnées associées au tenant. Copiez et enregistrez l’URL.
  2. Ouvrez un nouvel onglet de navigateur et accédez à l’URL que vous avez copiée précédemment. (Si vous êtes connecté au site Auth0 Docs, les paramètres seront préremplis avec les bonnes valeurs.)
    1. Repérez Entity ID, puis copiez-en et enregistrez le contenu. Il ressemblera à ceci : urn:auth0:{yourTenant}:{yourConnectionName}. Remplacez {yourConnectionName} par le nom de la connexion que vous avez créée pour votre tenant IdP.
    2. Repérez Metadata, puis copiez et enregistrez l’URL fournie. Elle ressemblera à ceci : https://{yourDomain}/samlp/metadata?connection={yourConnectionName}. Remplacez {yourConnectionName} par le nom de la connexion que vous avez créée pour votre tenant IdP.
    3. Accédez à l’URL que vous avez copiée précédemment pour afficher les métadonnées de cette connexion dans le tenant SP. Sinon, votre navigateur pourrait vous inviter à enregistrer le fichier de métadonnées.
    4. Repérez la ligne qui commence par AssertionConsumerService, puis copiez et enregistrez la valeur du champ Location. Il s’agira d’une URL de la forme suivante : https://{yourDomain}/login/callback?connection={yourConnectionName}. Il s’agit de l’URL de votre tenant SP qui reçoit la SAML assertion du tenant IdP. Dans la section suivante, vous fournirez cette URL au tenant IdP afin qu’il sache où envoyer la SAML assertion.

Ajouter les métadonnées du fournisseur de services à l’IdP

Ajoutez des informations sur le tenant SP au tenant IdP afin qu’il sache comment recevoir les requêtes d’authentification SAML et y répondre.
  1. Basculez vers votre tenant IdP. Ouvrez le menu du tenant, sélectionnez Switch Tenant, puis sélectionnez votre tenant IdP.
  2. Accédez à Dashboard > Applications > Applications et sélectionnez le nom de l’application IdP que vous avez créée précédemment.
  3. Passez à la vue Addons.
  4. Sélectionnez SAML2 Web App pour afficher ses options, puis repérez l’Application Callback URL. Collez l’AssertionConsumerService URL que vous avez copiée précédemment.
  5. Dans le bloc de code Settings, repérez la clé audience et décommentez-la, puis supprimez la virgule à la fin de la ligne et remplacez la valeur d’origine (urn:foo) par la valeur de l’Entity ID que vous avez copiée précédemment (y compris le nom de la connexion que vous avez créé à l’étape 4 lors de la configuration de votre tenant du fournisseur de services). La nouvelle ligne devrait ressembler à ceci : “audience":"urn:auth0:{yourTenant}:{yourConnectionName}".
  6. Sélectionnez Enable.

Tester l’IdP

  1. Dans la même fenêtre, faites défiler vers le haut, puis sélectionnez Debug. Un écran de connexion s’affichera.
  2. Connectez-vous avec les identifiants de l’utilisateur test que vous avez créé ci-dessus. Si votre configuration est correcte, le message « It works! » s’affichera, ainsi que la réponse SAML encodée et décodée qui serait envoyée à l’IdP.
  3. Vérifiez la réponse SAML décodée, repérez <saml:Audience> et assurez-vous qu’elle correspond à l’Entity ID que vous avez saisi à l’écran précédent.
  4. Sélectionnez Close this window.

Créer une application pour tester la connexion SAML

Créez une application simple pour tester la connexion SAML que vous avez créée.
  1. Basculez vers votre tenant SP. Ouvrez le menu du tenant, sélectionnez Switch Tenant, puis sélectionnez votre tenant SP.
  2. Accédez à Dashboard > Applications > Applications et sélectionnez Create Application.
  3. Entrez un nom d’application, sélectionnez Regular Web Application comme type d’application, puis sélectionnez Create.
  4. Copiez et enregistrez les valeurs Domain et Client ID.
  5. Repérez le champ Allowed Callback URLs et entrez http://jwt.io. Il s’agit de la liste des URL de rappel autorisées vers lesquelles les utilisateurs seront redirigés après l’authentification. Les URL saisies ici doivent correspondre à l’URL de rappel dans le code HTML créé à l’étape suivante. Normalement, vous entreriez l’URL de votre application, mais pour simplifier cet exemple, l’utilisateur de test sera redirigé vers l’outil JWT en ligne d’Auth0, qui fournit des renseignements sur le JSON Web Token (JWT) renvoyé à la fin de la séquence d’authentification.
  6. Sélectionnez Save Changes.
  7. Passez à la vue Connections, repérez la connexion SAML que vous avez créée dans la section Enterprise et activez-la.

Tester la connexion entre le service et le fournisseur d’identité

Effectuez ce test pour vous assurer que la configuration SAML entre votre tenant SP et votre tenant IdP fonctionne.
  1. Accédez à Dashboard > Authentication > Enterprise et sélectionnez SAML.
  2. Repérez la connexion SAML que vous avez créée, puis sélectionnez l’icône de flèche Try. Comme vous vous êtes déjà connecté pendant le test de cette connexion, vous devriez être redirigé directement vers l’écran « It works! ». Si l’écran de connexion s’affiche, connectez-vous à l’aide des identifiants de votre utilisateur test.
Si la configuration est correctement définie, vous verrez « It works! » et la page affichera le contenu de l’assertion d’authentification SAML envoyée par le tenant IdP au tenant Auth0. Si ce n’est pas le cas, revoyez les étapes. Si le problème persiste, consultez la section de dépannage à la fin de ce document.

Créer une page web pour l’application de test

Créez une page web simple qui lance le widget Lock et déclenche la séquence de connexion SAML.
  1. Créez une page HTML et insérez le code HTML et Javascript suivant. Remplacez {yourClientId} et {yourDomain} par les valeurs réelles de l’application que vous avez enregistrée ci-dessus. (Si vous n’avez pas noté ces valeurs, vous pouvez les trouver dans les Paramètres de l’application de votre tenant SP.)
  2. Vous pouvez aussi remplacer audience par la valeur appropriée pour votre application, mais pour ce test, une valeur fictive suffit. Si vous précisez le paramètre audience, assurez-vous qu’il correspond à l’identifier d’une API existante que vous avez configurée dans Auth0.
  3. Enregistrez le fichier HTML à un emplacement accessible depuis un navigateur.

Tester l’application exemple

Testez l’exemple d’application HTML qui utilise la connexion SAML Auth0 que vous avez créée dans votre tenant SP pour effectuer une authentification SSO auprès du tenant IdP.
  1. Ouvrez dans un navigateur le fichier HTML que vous avez créé ci-dessus. Vous devriez voir un bouton de connexion.
  2. Cliquez sur Login. Vous devriez voir le widget Lock avec une seule option. Si d’autres connexions sont activées pour votre application, l’écran pourrait être différent. Si on vous demande une adresse courriel, assurez-vous que l’adresse courriel saisie a le même nom de domaine que le domaine que vous avez indiqué dans la vue Settings de l’application du premier tenant.
  3. Cliquez sur le bouton bleu, qui peut afficher saml ou ACCESS. Le fait qu’on vous demande des identifiants ou que vous soyez redirigé immédiatement vers l’URL de rappel dépend de l’existence ou non d’une session active.

Résolution des problèmes liés au scénario de test

  • Effacez l’historique et les cookies de votre navigateur avant chaque test. Sinon, le navigateur risque de ne pas charger la version la plus récente de votre page HTML ou d’utiliser des cookies périmés qui nuisent à l’exécution.
  • Capturez une trace HTTP de l’interaction. De nombreux outils peuvent capter le trafic HTTP de votre navigateur pour l’analyser.
    • Cherchez « HTTP Trace » sur Internet pour trouver et installer un outil.
    • Capturez la séquence de connexion du début à la fin et analysez la trace. Suivez la séquence des requêtes GET pour voir jusqu’où vous vous rendez dans la séquence attendue. Vous devriez voir une redirection de votre site d’origine vers le tenant SP, puis vers le tenant IdP, un POST de l’identifiant si vous avez dû vous connecter, puis une redirection vers l’URL de rappel ou le tenant SP, puis une redirection vers l’URL de rappel indiquée dans votre application.
  • Assurez-vous que les cookies et Javascript sont activés dans votre navigateur.
  • Assurez-vous que l’URL de rappel indiquée dans le fichier HTML figure aussi dans le champ URL de rappel autorisées de votre application. Pour ce faire, allez à Dashboard > Applications > Applications, sélectionnez le nom de votre application, puis repérez URL de rappel autorisées.
  • Utilisez l’outil http://samltool.io pour décoder une assertion SAML.

En savoir plus