Comment configurer Google en tant que fournisseur d'identité sociale dans un groupe d'utilisateurs Amazon Cognito ?

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

Je souhaite utiliser Google en tant que fournisseur d'identité fédérée dans un groupe d'utilisateurs Amazon Cognito. Comment procéder ?

Résolution

Les groupes d'utilisateurs Amazon Cognito permettent la connexion par le biais d'un tiers (fédération), notamment par le biais d'un fournisseur d'identité sociale tel que Google ou Facebook. Pour plus d'informations, consultez la section Ajout de fournisseurs d'identité sociale à un groupe d'utilisateurs.

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

  1. Créez un groupe d'utilisateurs.
    Remarque : lors de la création, l'attribut standard d'e-mail est sélectionné par défaut. Pour plus d'informations, consultez la section Configuration des attributs du groupe d'utilisateurs.
  2. Créez un client d'application dans votre groupe d'utilisateurs. Pour plus d'informations, consultez Ajout d'une application pour activer l'interface utilisateur Web hébergée.
  3. Ajoutez un nom de domaine à votre groupe d'utilisateurs.

Création d'un projet de console d'API Google

Si vous ne disposez pas encore d'un projet, créez-en un nouveau.

  1. Connectez-vous à la console d'API Google par le biais de votre compte Google. Pour plus d'informations, consultezGestion des API dans la console d'API sur le site Web de l'aide Google.
  2. Dans le tableau de bord (API et services), choisissez CRÉER.
  3. Sous New Project (Nouveau projet), saisissez un nom de projet.
  4. Pour l'option Emplacement, choisissez PARCOURIR, puis sélectionnez un emplacement.
  5. Sélectionnez CRÉER.

Pour davantage d'informations, consultez la section Integrating Google Sign-In into your web app (Intégration de Google Sign-In dans votre application Web) sur le site Web Google Sign-In for Websites.

  1. Dans la console d'API Google, dans le panneau de navigation de gauche, choisissez OAuth consent screen (Écran de consentement OAuth).
  2. Remplissez le formulaire de l'écran de consentement. Au minimum, procédez comme suit :
    Sous Nom de l'application, saisissez un nom.
    Sous Authorized domains (Domaines autorisés), saisissez amazoncognito.com.
    Important : vous devez saisir ce domaine, ou vous ne pourrez pas utiliser votre domaine Amazon Cognito ultérieurement lors de la création d'un ID client OAuth.
  3. Choisissez Enregistrer. Vous êtes redirigé vers la page Informations d'identification.

Pour davantage d'informations, consultez la section Completing the OAuth consent screen (Compléter l'écran de consentement OAuth) sur le site Web Google Apps Script.

Obtention des informations d'identification du client OAuth 2.0

  1. Dans la console d'API Google, sur la page Informations d'identification, choisissez Create credentials (Créer des informations d'identification), puis choisissez OAuth client ID (ID client OAuth).
  2. Sur la page Création d'un ID client OAuth, sous Type d'application, choisissez Web application (Application Web).
  3. Procédez comme suit :
    Saisissez un nom pour votre ID client OAuth.
    Sous Authorized JavaScript origins (Origines JavaScript autorisées), saisissez votre domaine Amazon Cognito (https://yourDomainPrefix.auth.region.amazoncognito.com).
    Remarque : remplacez yourDomainPrefix et region par les valeurs de votre groupe d'utilisateurs. Recherchez ces valeurs dans la console Amazon Cognito sous l'onglet Nom de domaine de votre groupe d'utilisateurs.
    Sous Authorized redirect URIs (URI de redirection autorisés), saisissez https://yourDomainPrefix.auth.region.amazoncognito.com/oauth2/idpresponse.
    Remarque : remplacez yourDomainPrefix et region par les valeurs de votre groupe d'utilisateurs. Reportez-vous à l'étape précédente pour plus d'informations.
  4. Dans la boîte de dialogue OAuth client (Client OAuth), recherchez l'ID client et la clé secrète du client, et prenez-en note pour plus tard. Vous en avez besoin lorsque vous configurez Google dans votre groupe d'utilisateurs Amazon Cognito.

Pour davantage d'informations, consultez Using OAuth 2.0 to access Google APIs sur le site Web Google Identity Platform.

Configuration de Google en tant que fournisseur d'identité fédérée dans votre groupe d'utilisateurs

  1. Dans la console Amazon Cognito, sélectionnez Manage user pools (Gérer les groupes d'utilisateurs), puis choisissez votre groupe d'utilisateurs.
  2. Dans le volet de navigation de gauche, sous Fédération, choisissez Fournisseurs d'identité.
  3. Sélectionnez Google.
  4. Procédez comme suit :
    Sous ID d'application Google, collez l'ID client dont vous avez pris note.
    Sous Clé secrète d'application, collez la clé secrète du client dont vous avez pris note.
    Sous Portée d'autorisation, entrez profile email openid.
  5. Choisissez Activer Google.

Pour plus d'informations, consultez la section Ajouter de fournisseurs d'identité sociale à un groupe d'utilisateurs.

Mappage de l'adresse de l'attribut Google à l'attribut du groupe d'utilisateurs

Remarque : dans le mappage d'attribut, les attributs du groupe d'utilisateurs mappés doivent être mutables. Pour plus d'informations, consultez Spécification des mappages d'attributs du fournisseur d'identité pour votre groupe d'utilisateurs.

  1. Dans la console Amazon Cognito, sélectionnez Manage user pools (Gérer les groupes d'utilisateurs), puis choisissez votre groupe d'utilisateurs.
  2. Dans le volet de navigation de gauche, sous Fédération, choisissez Mappage d'attribut.
  3. Sur la page de mappage d'attribut, choisissez l'onglet Google.
  4. En regard de l'attribut Google portant le nom email, cochez la case Capture.
  5. En regard de email, pour l'option Attribut du groupe d'utilisateurs, sélectionnez E-mail dans la liste.
  6. Choisissez Save changes (Enregistrer les modifications).

Modification des paramètres du client d'application pour votre groupe d'utilisateurs

Remarque : dans les paramètres du client d'application, les attributs du groupe d'utilisateurs mappés doivent être accessibles en écriture. Pour plus d'informations, consultez Spécification des mappages d'attributs du fournisseur d'identité pour votre groupe d'utilisateurs.

  1. Dans la console Amazon Cognito, sélectionnez Manage user pools (Gérer les groupes d'utilisateurs), puis choisissez votre groupe d'utilisateurs.
  2. Dans le volet de navigation de gauche, sous Intégration d'application, sélectionnezParamètres du client d'application.
  3. Sur la page du client d'application, procédez comme suit :
    Sous Fournisseurs d'identité activés, cochez la case Google.
    Sous 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.exemple.com/.
    Sous 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.exemple.com/.
    Sous Allowed OAuth Flows (Flux OAuth autorisés), cochez la case Implicit grant (Autorisation implicite).
    Sous Allowed OAuth Scopes (Règles OAuth autorisées), cochez les cases email, openid et profile.
    Important : le flux OAuth de l'autorisation implicite est uniquement destiné à des fins de test. C'est une bonne pratique d'utiliser l'octroi de codes d'autorisation pour les systèmes de production. Pour plus d'informations, consultez Comprendre les autorisations OAuth 2.0 des groupes d'utilisateurs d'Amazon Cognito.
  4. Choisissez Save changes (Enregistrer les modifications).

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

Création de l'URL de point de terminaison

À l'aide des valeurs de votre groupe d'utilisateurs, créez cette URL de point de terminaison de connexion pour l'interface utilisateur Web hébergée Amazon Cognito :

https://yourDomainPrefix.auth.region.amazoncognito.com/login?response_type=token&client_id=yourClientId&redirect_uri=redirectUrl

Veillez à effectuer les opérations suivantes :

  • Remplacez yourDomainPrefix et region par les valeurs de votre groupe d'utilisateurs. Recherchez ces valeurs dans la console Amazon Cognito sous l'onglet Nom de domaine de votre groupe d'utilisateurs.
  • Remplacez yourClientId par l'identifiant de votre client d'application Amazon Cognito, et remplacez redirectUrl par l'URL de rappel de votre client d'application. Recherchez-les dans la console Amazon Cognito sur la page Paramètres du client d'application de votre groupe d'utilisateurs.

Pour plus d'informations, consultez les sections Comment configurer l'interface utilisateur Web hébergée Amazon Cognito ? et Point de terminaison LOGIN.

Test de l'URL de point de terminaison

  1. Saisissez l'URL du point de terminaison de connexion créée dans votre navigateur Web.
  2. Sur la page Web de votre point de terminaison de connexion, choisissez Continue with Google (Continuer avec Google).
    Remarque : si vous êtes redirigé vers l'URL de rappel de votre client d'application Amazon Cognito, cela signifie que vous êtes déjà connecté à votre compte Google 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. Sous Sign in with Google (Connexion avec Google), choisissez votre compte Google et connectez-vous.

Lorsque l'authentification a réussi, vous êtes redirigé vers l'URL de rappel de votre client d'application Amazon Cognito. Les jetons Web JSON émis par le groupe d'utilisateurs (JWT) apparaissent dans l'URL de la barre d'adresse de votre navigateur Web.

Remarque : dans une application Web réelle, l'URL du point de terminaison LOGIN est générée par un kit SDK JavaScript, qui s'occupe également de l'analyse des jetons JWT dans l'URL.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?