Passer au contenu principal
Vous pouvez configurer Auth0 à la fois comme fournisseur de services (SP) et comme (IdP) pour tester votre connexion (SSO).
Diagramme des protocoles Auth0 comme SP et IdP SAML
Auth0 prend uniquement en charge son utilisation comme SP dans les configurations SAML avec SAML 1.1 ou SAML 2.0, tandis que vous pouvez l’utiliser 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 locataire comme SP SAML et un autre comme IdP SAML. Vous configurerez deux fédérations pour un locataire.

Créer un locataire IdP

Si vous n’avez pas encore de locataire Auth0 secondaire faisant office d’IdP SAML, vous devez en créer un :
  1. Accédez à l’Auth0 Dashboard, sélectionnez le nom de votre locataire, puis sélectionnez Créer un locataire.
    Menu déroulant du locataire dans le Dashboard pour créer un locataire
  2. Saisissez un Domaine, sélectionnez une Région, puis cliquez sur Créer.

Configurer le locataire IdP

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

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

  1. Accédez à Dashboard > Gestion des utilisateurs > Utilisateurs et sélectionnez Créer un utilisateur.
  2. Saisissez une adresse courriel pour votre utilisateur de test. Le domaine doit correspondre au domaine de courriel du locataire du fournisseur de services que vous configurerez ensuite. Par exemple, si l’adresse de 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. Conservez la valeur par défaut pour Connexion.
  5. Sélectionnez Créer.

Configurer le locataire du fournisseur de services

Configurez le locataire SP pour qu’il communique avec le locataire IdP pour le SSO à l’aide du protocole SAML.
  1. Basculez vers votre locataire SP. Ouvrez le menu du locataire, sélectionnez Changer de locataire, puis sélectionnez votre locataire 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 :
ParamètreDescription
Nom de la connexionEntrez le nom de votre choix, par exemple SAML-Auth0-IDP.
URL de connexionEntrez la valeur de l’URL du protocole SAML que vous avez copiée ci-dessus.
URL de déconnexionEntrez la même URL que pour l’URL de connexion ci-dessus.
Certificat de signature X509Cliquez sur le bouton rouge UPLOAD CERTIFICATE…, puis sélectionnez le fichier .pem que vous avez téléchargé ci-dessus.
  1. Passez à la vue Setup pour afficher les métadonnées associées au locataire. 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 de documentation Auth0, les paramètres seront préremplis avec les bonnes valeurs.)
    1. Repérez Entity ID, puis copiez et enregistrez son contenu. Il ressemblera à ceci : urn:auth0:{yourTenant}:{yourConnectionName}. Remplacez {yourConnectionName} par le nom de la connexion que vous avez créée pour votre locataire 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 locataire 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 locataire SP. Sinon, votre navigateur pourrait vous demander d’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 au format suivant : https://{yourDomain}/login/callback?connection={yourConnectionName}. Il s’agit de l’URL de votre locataire SP qui reçoit l’assertion SAML du locataire IdP. Dans la section suivante, vous fournirez cette URL au locataire IdP afin qu’il sache où envoyer l’assertion SAML.

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

Ajoutez des renseignements sur le locataire du fournisseur de services au locataire IdP afin qu’il sache comment recevoir les requêtes d’authentification SAML et y répondre.
  1. Basculez vers votre locataire IdP. Ouvrez le menu du locataire, sélectionnez Changer de locataire, puis sélectionnez votre locataire 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, supprimez sa mise en commentaire, retirez la virgule à la fin de la ligne, puis remplacez la valeur d’origine (urn:foo) par la valeur Entity ID que vous avez copiée précédemment (y compris le nom de la connexion que vous avez créé à l’étape 4 lorsque vous avez configuré votre locataire de 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 la page vers le haut, puis sélectionnez Debug. Un écran de connexion s’affichera.
  2. Connectez-vous avec les identifiants de l’utilisateur de 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. Passez à votre locataire SP. Ouvrez le menu du locataire, sélectionnez Changer de locataire, puis sélectionnez votre locataire SP.
  2. Accédez à Dashboard > Applications > Applications et sélectionnez Créer une application.
  3. Entrez un nom d’application, sélectionnez Application Web régulière comme type d’application, puis sélectionnez Créer.
  4. Copiez et enregistrez les valeurs Domaine et ID client.
  5. Repérez le champ Allowed Callback URLs et saisissez 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 garder cet exemple simple, l’utilisateur de test sera redirigé vers l’outil JWT en ligne d’Auth0, qui fournit des informations sur le JSON Web Token (JWT) renvoyé à la fin de la séquence d’authentification.
  6. Sélectionnez Enregistrer les modifications.
  7. Passez à la vue Connexions, repérez la connexion SAML que vous avez créée dans la section Enterprise, puis activez-la.

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

Vérifiez que la configuration SAML entre votre locataire SP et votre locataire IdP fonctionne correctement.
  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é lors du 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 de test.
Si la configuration est correcte, vous verrez « It works! », et la page affichera le contenu de l’assertion d’authentification SAML envoyée par le locataire IdP au locataire Auth0. Si ce n’est pas le cas, revérifiez les étapes. Si vous éprouvez toujours des difficultés, 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 appelle le widget Lock et déclenche la séquence de connexion SAML.
  1. Créez une page HTML et insérez-y 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 Application Settings de votre locataire SP.)
    <!DOCTYPE html>
    <html lang="en">
    <body>
      <button type="button" onclick="login()">Log in</button>
      <script src="https://cdn.auth0.com/js/auth0/9.19.0/auth0.min.js"></script>
      <script>
        var auth0 = new auth0.WebAuth({
          domain: '{yourDomain}',
          clientID: '{yourClientId}',
          redirectUri: 'URL_TO_THIS_PAGE',
          responseType: 'token id_token',
          scope: 'openid email profile'
        })
    
        auth0.parseHash(function(err, data) {
          if (err) {
            console.log(err)
          }
    
          if (data) {
            console.log('Login successful!')
            console.log(data)
          }
        })
    
        window.login = function() {
          auth0.authorize()
        }
      </script>
    
    </body>
    </html>
    
  2. Vous pouvez également 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’identifiant d’une API existante que vous avez configurée dans Auth0.
  3. Enregistrez le fichier HTML à un emplacement accessible à partir d’un navigateur.

Tester l’application d’exemple

Testez l’application HTML d’exemple qui utilise la connexion SAML Auth0 que vous avez créée dans votre locataire SP pour effectuer une authentification SSO auprès du locataire IdP.
  1. Ouvrez le fichier HTML que vous avez créé ci-dessus dans un navigateur. 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 que vous saisissez a le même nom de domaine que celui que vous avez saisi dans la vue Settings de l’application du premier locataire.
  3. Cliquez sur le bouton bleu, qui peut afficher saml ou ACCESS. Le fait qu’on vous demande vos identifiants ou que vous soyez immédiatement redirigé vers l’URL de rappel dépend de l’existence ou non d’une session active.

Dépannage du scénario de test

  • Effacez l’historique et les témoins de votre navigateur avant chaque test. Sinon, le navigateur pourrait ne pas charger la dernière version de votre page HTML ou utiliser des témoins périmés qui nuisent à l’exécution.
  • Capturez une trace HTTP de l’interaction. De nombreux outils peuvent enregistrer le trafic HTTP de votre navigateur à des fins d’analyse.
    • 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ù va la séquence attendue. Vous devriez voir une redirection de votre site d’origine vers le locataire SP, puis vers le locataire IdP, un envoi POST des identifiants si vous avez dû vous connecter, puis une redirection vers l’URL de rappel ou le locataire SP, puis une redirection vers l’URL de rappel spécifiée dans votre application.
  • Assurez-vous que les témoins et JavaScript sont activés dans votre navigateur.
  • Assurez-vous que l’URL de rappel spécifiée dans le fichier HTML figure aussi dans le champ Allowed Callback URLs de votre application. Pour ce faire, accédez à Dashboard > Applications > Applications et sélectionnez le nom de votre application, puis repérez Allowed Callback URLs.
  • Utilisez l’outil http://samltool.io pour décoder une assertion SAML.

En savoir plus