Ajout de fournisseurs d'identité sociaux à un groupe d'utilisateurs. - Amazon Cognito

Ajout de fournisseurs d'identité sociaux à un groupe d'utilisateurs.

Vos utilisateurs d'applications mobiles et Web peuvent se connecter via des fournisseurs d'identité sociaux (IdP) comme Facebook, Google, Amazon et Apple. Avec l'interface utilisateur web hébergée intégrée, Amazon Cognito permet de traiter et de gérer tous les utilisateurs authentifiés. Vos systèmes backend peuvent ainsi utiliser un ensemble de jetons de groupe d'utilisateurs standard. Vous devez activer l'interface utilisateur hébergée pour s'intégrer aux fournisseurs d'identité sociale pris en charge. Quand Amazon Cognito génère votre interface utilisateur hébergée, il crée des points de terminaison OAuth 2.0 utilisés par Amazon Cognito et vos fournisseurs d'identité sociaux et OIDC pour échanger des informations. Pour plus d'informations, consultez la Référence d'API pour l'authentification des groupes d'utilisateurs Amazon Cognito.

Vous pouvez ajouter un fournisseur d'identité social dans AWS Management Console ou vous pouvez utiliser l'interface AWS CLI ou l'API Amazon Cognito.


                Présentation de l'authentification avec connexion par les réseaux sociaux
Note

La connexion via un tiers (fédération) est disponible dans les groupes d'utilisateurs Amazon Cognito. Cette fonctionnalité est indépendante de la fédération via les groupes d'identités Amazon Cognito (identités fédérées).

Prérequis

Avant de commencer, vous avez besoin de ce qui suit :

  • Un groupe d'utilisateurs avec une application client et un domaine de groupe d'utilisateurs. Pour plus d'informations, consultez Créer un groupe d'utilisateurs.

  • Un fournisseur d'identité social.

Étape 1 : Inscription avec un fournisseur d'identité social

Avant de créer un fournisseur d'identité social avec Amazon Cognito, vous devez enregistrer votre application auprès du fournisseur d'identité social pour recevoir un ID client et une clé secrète de client.

  1. Créez un compte développeur avec Facebook.

  2. Connectez-vous avec vos informations d'identification Facebook.

  3. Dans le menu Mes applications, choisissez Créer une nouvelle application.

  4. Saisissez un nom pour votre application Facebook, puis choisissez Créer un ID d'application.

  5. Dans la barre de navigation de gauche, sélectionnez Paramètres, puis Basique.

  6. Notez l'ID d'app et la Clé secrète d'application. Vous les utiliserez dans la section suivante.

  7. Au bas de la page, choisissez + Ajouter une plateforme.

  8. Choisissez Site Web.

  9. Sous Site Web, Saisissez le chemin d'accès à la page de connexion de votre application dans URL du site.

    https://<your_user_pool_domain>/login?response_type=code&client_id=<your_client_id>&redirect_uri=https://www.example.com
  10. Choisissez Enregistrer les modifications.

  11. Saisissez le chemin d'accès à la racine du domaine de votre groupe d'utilisateurs dans App Domains (Domaines d'application).

    https://<your-user-pool-domain>
  12. Choisissez Enregistrer les modifications.

  13. Dans la barre de navigation, choisissez Ajouter un produit, puis Configurer depuis le produit Connexion avec Facebook.

  14. Dans la barre de navigation, choisissez Connexion avec Facebook, puis Paramètres.

    Saisissez le chemin d'accès au point de terminaison /oauth2/idpresponse pour votre domaine de groupe d'utilisateurs dans Valid OAuth Redirect URIs (URI de redirection OAuth valides).

    https://<your-user-pool-domain>/oauth2/idpresponse
  15. Choisissez Enregistrer les modifications.

  1. Créez un compte développeur avec Amazon.

  2. Connectez-vous avec vos informations d'identification Amazon.

  3. Vous devez créer un profil de sécurité Amazon pour recevoir l'ID client et de la clé secrète de client Amazon.

    Choisissez Apps and Services (Applications et services) dans la barre de navigation en haut de la page, puis sélectionnez Login with Amazon.

  4. Sélectionnez Create a Security Profile (Créer un profil de sécurité).

  5. Saisissez un Nom du profil de sécurité, une Description du profil de sécurité et une URL de consentement à l'avis de confidentialité.

  6. Choisissez Enregistrer.

  7. Choisissez Client ID (ID client) et Client Secret (Secret client) pour afficher l'ID et le secret client. Vous les utiliserez dans la section suivante.

  8. Passez le curseur sur l'engrenage et choisissez l'icône Web Settings (Paramètres web), puis Modifier.

  9. Saisissez le domaine de votre groupe d'utilisateurs dans le champ Allowed Origins (Origines autorisées).

    https://<your-user-pool-domain>
  10. Saisissez le domaine de votre groupe d'utilisateurs avec le point de terminaison /oauth2/idpresponse dans Allowed Return URLs (URL de retour autorisées).

    https://<your-user-pool-domain>/oauth2/idpresponse
  11. Choisissez Enregistrer.

Pour plus d'informations concernant OAuth 2.0 sur la plateforme Google Cloud, consultez En savoir plus sur l'authentification et l'autorisation (langue Français non garanti) dans la documentation Google Workspace for Developers.

  1. Créez un compte développeur avec Google.

  2. Connectez-vous à la console Google Cloud Platform.

  3. Dans la barre de navigation supérieure, choisissez Select a project (Sélectionner un projet). Si vous avez déjà un projet sur la plateforme Google, ce menu affiche votre projet par défaut.

  4. Sélectionnez NEW PROJECT (NOUVEAU PROJET).

  5. Saisissez le nom de votre produit, puis choisissez CREATE (CRÉER).

  6. Dans la barre de navigation de gauche, choisissez APIs and Services (API et services), puis Oauth consent screen (Écran de consentement Oauth).

  7. Saisissez les informations sur l'application, avec App domain (Domaine d'application), Authorized domains (Domaines autorisés) et Developer contact information (Coordonnées du développeur). Vos Authorized domains (Domaines autorisés) doivent inclure amazoncognito.com et la racine de votre domaine personnalisé, par exemple example.com. Choisissez SAVE AND CONTINUE (ENREGISTRER ET CONTINUER).

  8. 1. Sous Scopes (Étendues), choisissez Add or remove scopes (Ajouter ou supprimer des étendues), et choisissez, au minimum, les étendues OAuth suivantes.

    1. .../auth/userinfo.email

    2. .../auth/userinfo.profile

    3. openid

  9. Sous Test users (Utilisateurs test), choisissez Add users (Ajouter des utilisateurs). Saisissez votre adresse e-mail et tout autre utilisateur test autorisé, puis choisissez SAVE AND CONTINUE (ENREGISTRER ET CONTINUER).

  10. Développez à nouveau la barre de navigation de gauche et choisissez APIs and Services (API et services), puis Credentials (Informations d'identification).

  11. Choisissez CREATE CREDENTIALS (CRÉER DES INFORMATIONS D'IDENTIFICATION), puis OAuth client ID (ID client OAuth).

  12. Choisissez un Application type (Type d'application) et donnez à votre client un Name (Nom).

  13. Sous Authorized JavaScript origins (Origines JavaScript autorisées), choisissez ADD URI (AJOUTER UN URI). Saisissez le domaine de votre groupe d'utilisateurs.

    https://<your-user-pool-domain>
  14. Sous Authorized redirect URIs (URI de redirection autorisés), choisissez ADD URI (AJOUTER UN URI). Entrez le chemin d'accès au point de terminaison /oauth2/idpresponse de votre domaine de groupe d'utilisateurs.

    https://<your-user-pool-domain>/oauth2/idpresponse
  15. Choisissez CREATE (CREER).

  16. Stockez en toute sécurité les valeurs que Google affiche sous Your client ID (ID de votre client) et Your client secret (Secret de votre client). Fournissez ces valeurs à Amazon Cognito lorsque vous ajoutez un fournisseur d'identité Google.

Pour plus d'informations sur la configuration de la fonctionnalité Se connecter avec Apple, consultez Configuring Your Environment for Sign in with Apple dans la documentation Apple Developer.

  1. Créez un compte développeur Apple.

  2. Connectez-vous avec vos informations d'identification Apple.

  3. Dans la barre de navigation de gauche, choisissez Certificates, Identifiers & Profiles (Certificats, identifiants et profils).

  4. Dans la barre de navigation de gauche, choisissez Identifiers (Identifiants).

  5. Dans la page Identifiers (Identifiants), choisissez l'icône +.

  6. Dans la page Register a New Identifier (Enregistrer un nouvel identifiant), choisissez App IDs (ID application), puis Continue (Continuer).

  7. Sur la page Select a type (Sélectionner un type), choisissez App (Application), puis Continue (Continuer).

  8. Dans la page Register an App ID (Enregistrer un ID d'application), procédez comme suit :

    1. Sous Description, entrez une description.

    2. Sous App ID Prefix (Préfixe d'ID d'application), saisissez un Bundle ID (ID de bundle). Notez la valeur sous Make a note of the value under (Préfixe d'ID d'application). Vous utiliserez cette valeur après avoir choisi Apple comme fournisseur d'identité dans Étape 2 : Ajout d'un fournisseur d'identité social à votre groupe d'utilisateurs.

    3. Sous Capabilities (Capacités), choisissez Sign In with Apple (Connexion avec Apple), puis Edit (Modifier).

    4. Sur la page Sign in with Apple: App ID Configuration (Se connecter avec Apple : Configuration d'ID d'application), choisissez de configurer l'application comme principale ou groupée avec d'autres ID d'application, puis choisissez Save (Enregistrer).

    5. Choisissez Continuer.

  9. Dans la page Confirm your App ID (Confirmer votre ID d'application), choisissez Register (Inscrire).

  10. Dans la page Identifiers (Identifiants), choisissez l'icône +.

  11. Dans la page Register a New Identifier (Enregistrer un nouvel identifiant), choisissez Services IDs (ID de service), puis Continue (Continuer).

  12. Dans la page Register an App ID (Enregistrer un ID d'application), procédez comme suit :

    1. Dans Description, saisissez une description.

    2. Sous Identifier (Identifiant), saisissez un identifiant. Notez les ID de ces services, car vous en aurez besoin après avoir choisi Apple comme fournisseur d'identité dans Étape 2 : Ajout d'un fournisseur d'identité social à votre groupe d'utilisateurs.

    3. Choisissez Continue (Continuer), puis Register (Enregistrer).

  13. Choisissez l'ID de services que vous venez de créer à partir de la page Identifiants.

    1. Sélectionnez Sign In with Apple (Connexion avec Apple), puis choisissez Configure (Configurer).

    2. Sur la page Web Authentication Configuration (Configuration de l'authentification web), sélectionnez l'ID d'application que vous avez créé précédemment comme Primary App ID (ID d'application principale).

    3. Choisissez l'icône + en regard de Website URLs (URL de sites web).

    4. Sous Domains and subdomains (Domaines et sous-domaines), entrez le domaine de votre groupe d'utilisateurs sans utiliser de préfixe https://.

      <your-user-pool-domain>
    5. Sous Return URLs (URL de retour), saisissez le chemin d'accès au point de terminaison /oauth2/idpresponse du domaine de votre groupe d'utilisateurs.

      https://<your-user-pool-domain>/oauth2/idpresponse
    6. Choisissez Next (Suivant), puis Done (Terminé). Vous n'avez pas besoin de vérifier le domaine.

    7. Choisissez Continue (Continuer), puis Save (Enregistrer).

  14. Dans la barre de navigation de gauche, choisissez Keys (Clés).

  15. Dans la page Keys (Clés), choisissez l'icône +.

  16. Dans la page Register a New Key (Enregistrer une nouvelle clé), procédez comme suit :

    1. Sous Key Name (Nom de clé), saisissez un nom de clé.

    2. Sélectionnez Sign In with Apple (Connexion avec Apple), puis choisissez Configure (Configurer).

    3. Sur la page Configure Key (Configurer la clé), sélectionnez l'ID d'application que vous avez créé précédemment comme Primary App ID (ID d'application principale). Choisissez Enregistrer.

    4. Choisissez Continue (Continuer), puis Register (Enregistrer).

  17. Dans la page Télécharger votre clé, choisissez Télécharger pour télécharger la clé privée, puis choisissez Terminé. Vous aurez besoin de cette clé privée et de la valeur Key ID (ID de clé) affichées sur cette page après avoir choisi Apple comme fournisseur d'identité dans Étape 2 : Ajout d'un fournisseur d'identité social à votre groupe d'utilisateurs.

Étape 2 : Ajout d'un fournisseur d'identité social à votre groupe d'utilisateurs

Original console

Pour configurer un fournisseur d'identité social pour votre groupe d'utilisateurs avec AWS Management Console

  1. Accédez à la console Amazon Cognito. Si vous y êtes invité, saisissez vos informations d'identification AWS.

  2. Sélectionnez Gérer les groupes d'utilisateurs.

  3. Choisissez un groupe d'utilisateurs existant dans la liste ou créez-en un.

  4. Dans la barre de navigation de gauche, sélectionnez Identity providers (Fournisseurs d'identité).

  5. Choisissez un fournisseur d'identité social : Facebook, Google, Login with Amazon ou Apple.

  6. Exécutez l'une des étapes suivantes en fonction du fournisseur d'identité social que vous choisissez :

    • Google et Login with Amazon : Saisissez l'ID du client d'application et la clé secrète du client générés dans la section précédente.

    • Facebook : Saisissez l'ID du client d'application et la clé secrète du client générés dans la section précédente, puis choisissez une version d'API (par exemple, la version 2.12). Nous recommandons de choisir la dernière version possible, car chaque API Facebook a un cycle de vie et une date d'arrêt de prise en charge. Les périmètres et attributs Facebook peuvent varier d'une version d'API à l'autre. Nous vous recommandons de tester votre connexion d'identité sociale avec Facebook pour vous assurer que la fédération fonctionne comme prévu.

    • Sign In with Apple : Saisissez l'ID de services, l'ID d'équipe, l'ID de clé, et la clé privée générés dans la section précédente.

  7. Saisissez les noms des périmètres que vous souhaitez autoriser. Les périmètres définissent les attributs d'utilisateur (tels que name et email) auxquels vous souhaitez accéder avec votre application. Pour Facebook, ils doivent être séparés par des virgules. Pour Google et Login with Amazon, ils doivent être séparés par des espaces. Pour Sign in with Apple (Connexion avec Apple), activez les cases des périmètres auxquelles vous souhaitez accéder.

    Fournisseur d'identité social Exemple de règles
    Facebook public_profile, email
    Google profile email openid
    Login with Amazon profile postal_code
    Se connecter avec Apple email name

    L'utilisateur de l'application est invité à accepter de fournir ces attributs à votre application. Pour plus d'informations sur leurs portées, consultez la documentation Google, Facebook, Login with Amazon et Connexion avec Apple.

    Dans le cas de Sign in with Apple, les scénarios d'utilisation où les périmètres ne peuvent pas être renvoyés sont les suivants :

    • Un utilisateur final rencontre une erreur après avoir quitté la page Apple de connexion (erreur interne au sein d'Amazon Cognito ou toute autre erreur écrite par le développeur).

    • L'identifiant de service est utilisé à travers les groupes d'utilisateurs et autres services d'authentification.

    • Un développeur ajoute des périmètres supplémentaires après que l'utilisateur s'est connecté (aucune nouvelle information n'est extraite).

    • Un développeur supprime l'utilisateur et l'utilisateur se connecte à nouveau sans supprimer l'application de son profil Apple

  8. Choisissez Enable (Activer) pour le fournisseur d'identité social que vous configurez.

  9. Dans la barre de navigation, sélectionnez App client settings (Paramètres du client d'application).

  10. Sélectionnez votre fournisseur d'identité social comme l'un des fournisseurs d'identité activés pour votre application de groupe d'utilisateurs.

  11. Saisissez votre URL de rappel dans le champ URL de rappel pour l'application de votre groupe d'utilisateurs. C'est l'URL vers laquelle l'utilisateur est redirigé après une authentification réussie.

    https://www.example.com
  12. Choisissez Enregistrer les modifications.

  13. Dans l'onglet Attribute mapping (Mappage d'attribut), ajoutez des mappages au moins pour les attributs requis, en général email, comme suit :

    1. Sélectionnez la case à cocher pour choisir le nom d'attribut Facebook, Google ou Amazon. Vous pouvez également entrer les noms d'attributs supplémentaires qui ne sont pas répertoriés dans la console Amazon Cognito.

    2. Sélectionnez l'attribut du groupe d'utilisateurs de destination dans la liste déroulante.

    3. Choisissez Enregistrer les modifications.

    4. Choisissez Go to summary (Aller au récapitulatif).

New console

Pour configurer un fournisseur d'identité social pour votre groupe d'utilisateurs avec AWS Management Console

  1. Accédez à la console Amazon Cognito. Si vous y êtes invité, saisissez vos informations d'identification AWS.

  2. Choisissez Groupes d'utilisateurs.

  3. Choisissez un groupe d'utilisateurs existant dans la liste ou créez un groupe d'utilisateurs.

  4. Choisissez l'onglet Expérience de connexion. Localisez Ouverture de session fédérée, puis sélectionnez Ajout d'un fournisseur d'identité.

  5. Choisissez un fournisseur d'identité social : Facebook, Google, Login with Amazon ou Connexion avec Apple.

  6. Exécutez l'une des étapes suivantes en fonction du fournisseur d'identité social que vous choisissez :

    • Google et Login with Amazon : Saisissez l'ID du client d'application et la clé secrète du client générés dans la section précédente.

    • Facebook : Saisissez l'ID du client d'application et la clé secrète du client générés dans la section précédente, puis choisissez une version d'API (par exemple, la version 2.12). Nous recommandons de choisir la dernière version possible, car chaque API Facebook a un cycle de vie et une date d'arrêt de prise en charge. Les périmètres et attributs Facebook peuvent varier d'une version d'API à l'autre. Nous vous recommandons de tester votre connexion d'identité sociale avec Facebook pour vous assurer que la fédération fonctionne comme prévu.

    • Se connecter avec Apple : Saisissez l'ID de service, l'ID d'équipe, l'ID de clé, et la clé privée générés dans la section précédente.

  7. Saisissez les noms des périmètres autorisés que vous voulez utiliser. Les périmètres définissent les attributs d'utilisateur (tels que name et email) auxquels vous souhaitez accéder avec votre application. Pour Facebook, ils doivent être séparés par des virgules. Pour Google et Login with Amazon, ils doivent être séparés par des espaces. Pour Sign in with Apple (Connexion avec Apple), activez les cases des périmètres auxquelles vous souhaitez accéder.

    Fournisseur d'identité social Exemple de règles
    Facebook public_profile, email
    Google profile email openid
    Login with Amazon profile postal_code
    Se connecter avec Apple email name

    L'utilisateur de l'application est invité à accepter de fournir ces attributs à votre application. Pour plus d'informations sur les périmètres d'application des fournisseurs sociaux, consultez la documentation de Google, Facebook, Login with Amazon et Login with Apple.

    Dans le cas de Sign in with Apple, les scénarios d'utilisation où les périmètres ne peuvent pas être renvoyés sont les suivants :

    • Un utilisateur final rencontre une erreur après avoir quitté la page Apple de connexion (erreur interne au sein d'Amazon Cognito ou toute autre erreur écrite par le développeur).

    • L'identifiant de service est utilisé à travers les groupes d'utilisateurs et/ou autres services d'authentification.

    • Un développeur ajoute des périmètres supplémentaires après que l'utilisateur s'est connecté (aucune nouvelle information n'est extraite).

    • Un développeur supprime l'utilisateur et l'utilisateur se connecte à nouveau sans supprimer l'application de son profil Apple

  8. Mappez les attributs de votre fournisseur d'identité dans votre groupe d'utilisateurs. Pour de plus amples informations, veuillez consulter Spécification des mappages d'attribut du fournisseur d'identité pour votre groupe d'utilisateurs.

  9. Sélectionnez Créer un .

  10. De l'onglet Intégration du client d'application, choisissez l'un des Clients d'application dans la liste et Modifier les paramètres d'interface utilisateur hébergée. Ajoutez le nouveau fournisseur d'identité social au client d'application sous Identity providers (Fournisseurs d'identité).

  11. Choisissez Enregistrer les modifications.

Étape 3 : Test de la configuration de votre fournisseur d'identité social

Vous pouvez créer une URL de connexion en utilisant les éléments des deux sections précédentes. Utilisez-les pour tester votre configuration de fournisseur d'identité social.

https://<your_user_pool_domain>/login?response_type=code&client_id=<your_client_id>&redirect_uri=https://www.example.com

Votre domaine se trouve sur la page de la console répertoriant le nom de domaine du groupe d'utilisateurs. L'ID client se trouve sur la page Paramètres du client d'application. Utilisez votre URL de rappel pour le paramètre redirect_uri. Il s'agit de l'URL de la page vers laquelle l'utilisateur est redirigé après une authentification réussie.

Note

Amazon Cognito annule les demandes d'authentification qui ne se terminent pas dans les 5 minutes et redirige l'utilisateur vers l'interface utilisateur hébergée. La page affiche un message d'erreur Something went wrong.