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

Date de la dernière mise à jour : 01/02/2019

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 procéder ?

Brève description

Les groupes d'utilisateurs Amazon Cognito permettent de se connecter via un tiers (fédération), y compris par le biais d'un fournisseur d'identité (IdP) SAML tel que Auth0. Pour plus d'informations, consultez les sections 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 à partir d'Amazon Cognito. Pour plus d'informations, consultez la section Utilisation de 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.

Résolution

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

Pour plus d'informations, consultez les articles suivants :

Se connecter pour obtenir 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 possédez déjà un compte, connectez-vous à celui-ci.

Créer une application Auth0

  1. Sur le tableau de bord du site web Auth0, sélectionnez +New Application (+Nouvelle 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. Sélectionnez Create (Créer).

Créer un utilisateur test pour votre application Auth0

  1. Dans la barre de navigation de gauche, sélectionnez 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. Choisissez 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.
  5. Sous Settings (Paramè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'identifiant 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 (//). Procédez de même pour tous les autres attributs requis par votre groupe d'utilisateurs Amazon Cognito. Pour plus d'informations, consultez la section Configuration des attributs de 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 sous l'utilisateur test que vous avez créé pour confirmer que la configuration fonctionne.
  7. Choisissez Save (Enregistrer).

Obtenir les métadonnées de votre 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 des actions 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.

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

Pour plus d'informations, consultez la section Création et gestion d'un fournisseur d'identité SAML pour un groupe d'utilisateurs (AWS Management Console). Suivez les instructions de la rubrique 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 des 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.

Mapper l'adresse e-mail fournie par le fournisseur d'identité à l'attribut du groupe d'utilisateurs

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

Lorsque vous ajoutez un attribut SAML, saisissez http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress dans le champ Attribut de la SAML. Pour Attribut du groupe d’utilisateurs, sélectionnez E-mail dans la liste.

Modifier les paramètres du client d'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. Choisissez Save changes (Enregistrer les modifications).

Pour plus d'informations, consultez la section Présentation des paramètres du client d'application.

Tester le point de terminaison de connexion

  1. Saisissez cette URL dans votre navigateur web :
    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 les sections Comment configurer l'interface utilisateur web hébergée pour Amazon Cognito ? et Point de terminaison LOGIN.
  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.