
Créer le tenant IdP
-
Allez au Auth0 Dashboard, sélectionnez le nom de votre tenant, puis cliquez sur Create Tenant.

- Saisissez un Domain, sélectionnez une Region, puis cliquez sur Create.
Configurer le tenant IdP
- Basculez vers votre tenant IdP. Ouvrez le menu du tenant, sélectionnez Switch Tenant, puis sélectionnez votre tenant IdP.
- Accédez à Dashboard > Applications > Applications et sélectionnez Create Application.
- Entrez un nom pour l’application, par exemple
my-auth0-idp, sélectionnez Regular Web Application comme type d’application, puis sélectionnez Create. - Au bas de la page Settings, sélectionnez Show Advanced Settings.
- 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.
- 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
- Accédez à Dashboard > User Management > Users et sélectionnez Create User.
- 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 saisirexampleco.comcomme domaine de courriel. - Saisissez un mot de passe pour l’utilisateur de test.
- Utilisez la valeur par défaut pour Connection.
- Sélectionnez Create.
Configurer le tenant SP
- Basculez vers votre tenant SP. Ouvrez le menu du tenant, sélectionnez Switch Tenant, puis sélectionnez votre tenant SP.
- Accédez à Dashboard > Authentication > Enterprise et sélectionnez SAML.
- Sélectionnez Create Connection.
- Saisissez les renseignements suivants, puis sélectionnez Create :
- Passez à la vue Setup pour afficher les métadonnées associées au tenant. Copiez et enregistrez l’URL.
-
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.)
- 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. - 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. - 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.
- 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.
- Repérez Entity ID, puis copiez-en et enregistrez le contenu. Il ressemblera à ceci :
Ajouter les métadonnées du fournisseur de services à l’IdP
- Basculez vers votre tenant IdP. Ouvrez le menu du tenant, sélectionnez Switch Tenant, puis sélectionnez votre tenant IdP.
- Accédez à Dashboard > Applications > Applications et sélectionnez le nom de l’application IdP que vous avez créée précédemment.
- Passez à la vue Addons.
- 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.
- Dans le bloc de code Settings, repérez la clé
audienceet 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}". - Sélectionnez Enable.
Tester l’IdP
- Dans la même fenêtre, faites défiler vers le haut, puis sélectionnez Debug. Un écran de connexion s’affichera.
- 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.
- 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. - Sélectionnez Close this window.
Créer une application pour tester la connexion SAML
- Basculez vers votre tenant SP. Ouvrez le menu du tenant, sélectionnez Switch Tenant, puis sélectionnez votre tenant SP.
- Accédez à Dashboard > Applications > Applications et sélectionnez Create Application.
- Entrez un nom d’application, sélectionnez Regular Web Application comme type d’application, puis sélectionnez Create.
- Copiez et enregistrez les valeurs Domain et Client ID.
- 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. - Sélectionnez Save Changes.
- 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é
- Accédez à Dashboard > Authentication > Enterprise et sélectionnez SAML.
- 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.
Créer une page web pour l’application de test
-
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.) -
Vous pouvez aussi remplacer
audiencepar la valeur appropriée pour votre application, mais pour ce test, une valeur fictive suffit. Si vous précisez le paramètreaudience, assurez-vous qu’il correspond à l’identifier d’une API existante que vous avez configurée dans Auth0. - Enregistrez le fichier HTML à un emplacement accessible depuis un navigateur.
Tester l’application exemple
- Ouvrez dans un navigateur le fichier HTML que vous avez créé ci-dessus. Vous devriez voir un bouton de connexion.
- 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.
- 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.