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

Date de la dernière mise à jour : 20/12/2019

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

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 davantage 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 davantage 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 davantage d'informations, consultez la section 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 davantage d'informations, consultez la section Aide sur la console d'API sur le site Web d'aide Google.
  2. Sur 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 sur le site Web Google Sign-In for Websites.

Configuration de l'écran de consentement OAuth

  1. Dans la console d'API Google, dans le volet 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, auquel cas 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 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 aurez besoin lors de la configuration de 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 davantage d'informations, consultez la section Ajout 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 davantage d'informations, consultez la section 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. Sélectionnez 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 davantage d'informations, consultez la section 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 Flux OAuth autorisés, cochez au moins la case Implicit grant (Autorisation implicite).
    Sous Règles OAuth autorisées, cochez au moins les cases email, openid et profile.
  4. Sélectionnez Enregistrer les modifications.

Pour davantage 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

Assurez-vous d'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 davantage 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 ?

Cette page peut-elle être améliorée ?


Vous avez besoin d’aide ?