Comment configurer Auth0 comme fournisseur d'identité SAML avec un groupe d'utilisateurs Amazon Cognito ?

Dernière mise à jour : 16/07/2021

Je souhaite utiliser Auth0 en tant que fournisseur d'identité (IdP) SAML 2.0 (Security Assertion Markup Language 2.0) avec un groupe d'utilisateurs Amazon Cognito. Comment puis-je procéder ?

Brève description

Les groupes d'utilisateurs Amazon Cognito permettent de se connecter par l'intermédiaire d'un tiers (fédération), y compris par le biais d'un fournisseur d'identité SAML tel qu'Auth0. Pour plus d'informations, consultez Ajout de la connexion d'un groupe d'utilisateurs via un tiers et Ajout de fournisseurs d'identité SAML à un groupe d'utilisateurs.

Un groupe d'utilisateurs intégré à Auth0 permet aux utilisateurs de votre application Auth0 d'obtenir des jetons de groupe d'utilisateurs d'Amazon Cognito. Pour plus d'informations, consultez Utilisation des jetons avec des groupes d'utilisateurs.

Pour configurer Auth0 en tant que fournisseur d'identité SAML, vous avez besoin d'un groupe d'utilisateurs Amazon Cognito avec un client d'application et un nom de domaine, ainsi qu'un compte Auth0 disposant d'une application Auth0.

Solution

Création d’un groupe d'utilisateurs Amazon Cognito avec un client d'application et un nom de domaine

Pour plus d'informations, consultez les articles suivants :

Inscrivez-vous pour un compte Auth0

Saisissez votre adresse e-mail et votre mot de passe sur la page Sign Up (S'inscrire) du site web Auth0 pour démarrer. Si vous avez déjà un compte, connectez-vous.

Création d'une application Auth0

  1. Sur le tableau de bord du site web Auth0, choisissez Applications, puis Create Application (Créer une application).
  2. Dans la boîte de dialogue Create Application (Créer une application), saisissez un nom pour votre application. Par exemple, Mon application.
  3. Sous Choose an application type (Sélectionner un type d'application), sélectionnez Single Page Web Applications (Applications web à page unique).
  4. Choisissez Create (Créer).

Création d'un utilisateur test pour votre application Auth0

  1. Dans la barre de navigation de gauche, choisissez User management (Gestion des utilisateurs), puis choisissez Users (Utilisateurs).
  2. Sélectionnez + Create Your First User (+ Créer votre premier utilisateur). Ou, s'il ne s'agit pas de votre premier utilisateur, sélectionnez + Create User (+ Créer un utilisateur).
  3. Dans la boîte de dialogue Create user (Créer un utilisateur), saisissez une adresse e-mail et un mot de passe pour l'utilisateur.
  4. Sélectionnez Save (Enregistrer).

Configurer les paramètres SAML pour votre application

  1. Dans la barre de navigation de gauche, sélectionnez Applications.
  2. Sélectionnez le nom de l'application que vous avez créée.
  3. Sous l'onglet Addons (Modules complémentaires), activez SAML2 Web App (Application web SAML2).
  4. Dans la boîte de dialogue Addon: SAML2 Web App (Module : application web SAML2), sous l'onglet Settings (Paramètres), pour Application Callback URL (URL de rappel d'application), saisissez https://yourDomainPrefix.auth.region.amazoncognito.com/saml2/idpresponse.
    Remarque : remplacez yourDomainPrefix et region par les valeurs de votre groupe d'utilisateurs. Recherchez-les dans la console Amazon Cognito sous l'onglet Domain name (Nom de domaine) de la page de gestion de votre groupe d'utilisateurs.
    - ou -
    Saisissez une URL de rappel de domaine personnalisée similaire à la suivante : https//yourCustomDomain/saml2/idpresponse. Pour plus d'informations, voir Ajout d'un domaine personnalisé à un groupe d'utilisateurs.
  5. SousParamètres, procédez comme suit :
    Pour audient, supprimez le délimiteur de commentaire (//) et remplacez la valeur par défaut (urn:foo) par urn:amazon:cognito:sp:yourUserPoolId.
    Remarque : remplacez yourUserPoolId par l'ID de votre groupe d'utilisateurs Amazon Cognito. Recherchez-les dans la console Amazon Cognito sous l'onglet General settings (Paramètres généraux) de la page de gestion de votre groupe d'utilisateurs.
    Pour mappings et email, supprimez les délimiteurs de commentaire (//). Faites de même pour tous les autres attributs requis par votre groupe d'utilisateurs Amazon Cognito. Pour davantage d'informations, consultez la section Configuration des attributs du groupe d'utilisateurs.
    Pour nameIdentifierFormat, supprimez les délimiteurs de commentaire (//). Remplacez la valeur par défaut (urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified) par urn:oasis:names:tc:SAML:2.0:nameid-format:persistent.
  6. (Facultatif) Sélectionnez Debug (Déboguer), puis connectez-vous avec l'utilisateur test que vous avez créé pour confirmer que la configuration fonctionne.
  7. Choisissez Enable (Activer), puis Save (Enregistrer).

Obtention des métadonnées de fournisseur d'identité pour votre application Auth0

Dans la boîte de dialogue Addon: SAML2 Web App (Module : application web SAML2), sous l'onglet Usage (Utilisation), recherchez Identity Provider Metadata (Métadonnées du fournisseur d'identité). Ensuite, effectuez l'une ou l'autre des opérations suivantes :

  • Cliquez avec le bouton droit de la souris sur Download (Télécharger), puis copiez l'URL.
  • Sélectionnez Download (Télécharger) pour télécharger le fichier de métadonnées .xml.

Configuration d'Auth0 en tant que fournisseur d'identité SAML dans Amazon Cognito

Pour plus d'informations, consultez Création et gestion d'un fournisseur d'identité SAML pour un groupe d'utilisateurs. Suivez les instructions sous la section Pour configurer un fournisseur d'identité SAML 2.0 dans votre groupe d'utilisateurs.

Une fois le fournisseur d'identité SAML créé, collez l'URL Identity Provider Metadata (métadonnées du fournisseur d'identité) dans le champ Metadata Document (Document des métadonnées), ou chargez le fichier de métadonnées .xml.

Mappage de l'adresse e-mail de l'attribut IdP sur l'attribut du groupe d'utilisateurs

Pour plus d'informations, consultez la section Spécification des mappages d'attributs de fournisseur d'identité pour votre groupe d'utilisateurs et suivez les instructions de la section Spécifier un mappage d'attribut de fournisseur SAML.

Lors de l'ajout d'un attribut SAML, pour Attribut SAML, saisissez http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress. Pour Attribut du groupe d'utilisateurs, sélectionnez E-mail dans la liste.

Modification des paramètres du client de l'application dans Amazon Cognito

  1. Dans la page de gestion de la console Amazon Cognito pour votre groupe d'utilisateurs, sous App integration (Intégration d'application), sélectionnez App client settings (Paramètres du client d'application). Procédez ensuite de la façon suivante :
    Sous Fournisseurs d'identité activés, cochez les cases Auth0 et Cognito User Pool (Groupe d'utilisateurs Cognito).
    Pour URL de rappel, saisissez une URL vers laquelle vous souhaitez que vos utilisateurs soient redirigés après s'être connectés. Pour le test, vous pouvez saisir n'importe quelle URL valide, par exemple https://www.amazon.com.
    Pour URL de déconnexion, saisissez une URL vers laquelle vous souhaitez que vos utilisateurs soient redirigés après s'être déconnectés. Pour le test, vous pouvez saisir n'importe quelle URL valide, par exemple https://www.amazon.com.
    Sous Flux OAuth autorisés, assurez-vous d'avoir au moins coché la case Implicit grant (Autorisation implicite).
    Sous Allowed OAuth Scopes (Règles OAuth autorisées), veillez à cocher au moins les cases email et openid.
  2. Sélectionnez Save changes (Enregistrer les modifications).

Pour davantage d'informations, consultez la section Terminologie des paramètres du client d'application.

Test du point de terminaison de la connexion

  1. Dans votre navigateur, saisissez l'adresse https://<yourDomainPrefix>.auth.<region>.amazoncognito.com/login?response_type=token&client_id=<yourClientId>&redirect_uri=<redirectUrl>
    Remarque : remplacez yourDomainPrefix et region par les valeurs de votre groupe d'utilisateurs. Recherchez-les dans la console Amazon Cognito sous l'onglet Domain name (Nom de domaine) de la page de gestion de votre groupe d'utilisateurs.
    Remplacez yourClientId par l'identifiant de votre client d'application et remplacez redirectUrl par l'URL de retour de votre client d'application. Recherchez-les dans la console Amazon Cognito sous l'onglet App client settings (Paramètres du client d'application) de la page de gestion de votre groupe d'utilisateurs.
    Pour plus d'informations, consultez Comment configurer l'interface utilisateur web hébergée Amazon Cognito ? et Point de terminaison de la connexion.
  2. Sélectionnez Auth0.
    Remarque : si vous êtes redirigé vers l'URL de rappel de votre client d'application, cela signifie que vous êtes déjà connecté à votre compte Auth0 dans votre navigateur. Les jetons de groupe d'utilisateurs s'affichent dans l'URL située dans la barre d'adresse de votre navigateur Web.
  3. Depuis la page de connexion de votre application Auth0, saisissez l'adresse e-mail et le mot de passe pour l'utilisateur test que vous avez créé.
  4. Sélectionnez Log in (Connexion).

Une fois connecté, vous êtes redirigé vers l'URL de retour de votre client d'application. Les jetons de groupe d'utilisateurs s'affichent dans l'URL située dans la barre d'adresse de votre navigateur Web.