

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Ajoutez la connexion sociale à votre groupe d'utilisateurs
<a name="tutorial-create-user-pool-social-idp"></a>

Permettre aux utilisateurs de se connecter à votre application par le biais de leurs fournisseurs d'identité publics ou sociaux existants peut améliorer leur expérience d'authentification. Les groupes d'utilisateurs d'Amazon Cognito s'intègrent aux fournisseurs d'identité sociale populaires (IdPs) tels que Facebook, Google, Amazon et Apple, offrant à vos utilisateurs des options de connexion pratiques qu'ils connaissent déjà.

Lorsque vous configurez la connexion sociale, vous offrez à vos utilisateurs une alternative à la création d'un compte dédié uniquement pour votre application. Cela peut améliorer les taux de conversion et rendre le processus d'inscription plus fluide. Du point de vue de l'utilisateur, il peut utiliser ses identifiants sociaux existants pour s'authentifier rapidement, sans avoir à se souvenir d'un autre nom d'utilisateur et d'un autre mot de passe.

La configuration d'un IdP social dans votre groupe d'utilisateurs implique quelques étapes clés. Vous devez enregistrer votre demande auprès du fournisseur social pour obtenir un identifiant client et un secret. Vous pouvez ensuite ajouter la configuration de l'IdP social à votre groupe d'utilisateurs, en spécifiant les étendues que vous souhaitez demander et les attributs du groupe d'utilisateurs que vous souhaitez mapper à partir des attributs d'IdP. Au moment de l'exécution, Amazon Cognito gère l'échange de jetons avec le fournisseur, mappe les attributs utilisateur et émet des jetons vers votre application au format de groupe d'utilisateurs partagé.

## ​Inscription avec un fournisseur d'identité social
<a name="cognito-user-pools-social-step-1"></a>

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.

### Pour enregistrer une application avec Facebook
<a name="register-an-app-with-facebook"></a>

1. Créez un [compte développeur avec Facebook](https://developers.facebook.com/docs/facebook-login).

1. [Connectez-vous](https://developers.facebook.com/) avec vos informations d'identification Facebook.

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

   Si vous n'avez pas d'application Facebook existante, vous verrez une autre option. Sélectionnez **Create App (Créer une application)**.

1. Sur la page **Créer une application**, sélectionnez un cas d'utilisation pour votre application, puis **Suivant**.

1. Nommez votre application Facebook, puis sélectionnez **Créer une application**.

1. Dans la barre de navigation de gauche, sélectionnez **Paramètres d'application**, puis **Basique**.

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

1. Au bas de la page, choisissez **\$1 Ajouter une plateforme**.

1. Sur l'écran **Select Platform**, sélectionnez vos plateformes, puis choisissez **Next**.

1. Sélectionnez **Enregistrer les modifications**.

1. Pour **App Domains (Domaines d'applications)**, saisissez le domaine de votre groupe d'utilisateurs.

   ```
   https://your_user_pool_domain
   ```

1. Sélectionnez **Enregistrer les modifications**.

1. Dans la barre de navigation, choisissez **Produits**, puis sélectionnez **Configurer** depuis **Facebook Login**.

1. Dans le menu **Connexion avec Facebook** **Configurer**, sélectionnez **Paramètres**.

   Entrez votre URL de redirection dans **Valid OAuth Redirect URIs**. L'URL de redirection comprend le domaine de votre groupe d'utilisateurs avec le `/oauth2/idpresponse` point de terminaison.

   ```
   https://your_user_pool_domain/oauth2/idpresponse
   ```

1. Sélectionnez **Enregistrer les modifications**.

### Pour enregistrer une application avec Amazon
<a name="register-an-app-with-amazon"></a>

1. Créez un [compte développeur avec Amazon](https://developer.amazon.com/login-with-amazon).

1. [Connectez-vous](https://developer.amazon.com/lwa/sp/overview.html) avec vos informations d'identification Amazon.

1. 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** dans la barre de navigation en haut de la page, puis choisissez **Login with Amazon**.

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

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

1. Choisissez **Save** (Enregistrer).

1. 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.

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

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

   ```
   https://<your-user-pool-domain>
   ```

1. Entrez le domaine de votre groupe d'utilisateurs avec le `/oauth2/idpresponse` point de terminaison dans **Allowed Return URLs**.

   ```
   https://<your-user-pool-domain>/oauth2/idpresponse
   ```

1. Choisissez **Enregistrer**.

### Pour enregistrer une application avec Google
<a name="register-an-app-with-google"></a>

Pour plus d'informations sur la OAuth version 2.0 de la plateforme Google Cloud, consultez la section [En savoir plus sur l'authentification et l'autorisation](https://developers.google.com/workspace/guides/auth-overview) dans la documentation de Google Workspace for Developers.

1. Créez un [compte développeur avec Google](https://developers.google.com/identity).

1. Connectez-vous à la [console Google Cloud Platform](https://console.cloud.google.com/home/dashboard).

1. 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.

1. Sélectionnez **NEW PROJECT** (NOUVEAU PROJET).

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

1. Dans la barre de navigation de gauche, choisissez **APIs Services**, puis choisissez l'écran de **consentement Oauth**.

1. Entrez les informations de l'application, le **domaine de l'application**, **les domaines autorisés** et les **coordonnées du développeur**. Vos **domaines autorisés** doivent inclure `amazoncognito.com` la racine de votre domaine personnalisé. Par exemple : `example.com`. Choisissez **SAVE AND CONTINUE** (ENREGISTRER ET CONTINUER).

1. 1. Sous **Étendue**, choisissez **Ajouter ou supprimer des étendues**, puis choisissez, au minimum, les étendues suivantes OAuth.

   1. `.../auth/userinfo.email`

   1. `.../auth/userinfo.profile`

   1. openid

1. Sous **Test users** (Utilisateurs test), choisissez **Add users** (Ajouter des utilisateurs). Entrez votre adresse e-mail et tout autre utilisateur de test autorisé, puis choisissez **ENREGISTRER ET CONTINUER**.

1. Développez à nouveau la barre de navigation de gauche, choisissez **APIs et Services**, puis sélectionnez **Credentials**. 

1. Choisissez **CREATE CREDENTIALS**, puis choisissez l'**ID OAuth du client**.

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

1. Sous ** JavaScript Origines autorisées**, choisissez **AJOUTER UN URI**. Saisissez le domaine de votre groupe d'utilisateurs.

   ```
   https://<your-user-pool-domain>
   ```

1. Sous **Redirection autorisée URIs**, choisissez **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
   ```

1. Choisissez **CREATE**.

1. 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 enregistrer une application avec Apple
<a name="register-an-app-with-apple"></a>

Pour plus d'informations sur la configuration de la fonctionnalité Se connecter avec Apple, consultez [Configuring Your Environment for Sign in with Apple](https://developer.apple.com/documentation/signinwithapple/configuring-your-environment-for-sign-in-with-apple) dans la documentation Apple Developer.

1. Créez un [compte développeur Apple](https://developer.apple.com/programs/enroll/).

1. [Connectez-vous](https://developer.apple.com/account/#/welcome) avec vos informations d'identification Apple.

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

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

1. Dans la page **Identifiers (Identifiants)**, choisissez l'icône **\$1**.

1. Sur la page **Enregistrer un nouvel identifiant**, choisissez **App IDs**, puis choisissez **Continuer**.

1. Sur la page **Sélectionnez un type**, choisissez **App**, puis choisissez **Continuer**.

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

   1. Sous **Description**, entrez une description.

   1. 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 [Configurez votre groupe d'utilisateurs avec un IdP social](cognito-user-pools-social-idp.md#cognito-user-pools-social-idp-step-2).

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

   1. Sur la page **Connexion avec Apple : configuration de l'identifiant de l'application**, choisissez de configurer l'application comme application principale ou de la regrouper avec une autre application IDs, puis sélectionnez **Enregistrer**.

   1. Sélectionnez **Continuer**.

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

1. Dans la page **Identifiers (Identifiants)**, choisissez l'icône **\$1**.

1. Sur la page **Enregistrer un nouvel identifiant**, sélectionnez **Services IDs**, puis choisissez **Continuer**.

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

   1. Sous **Description**, entrez une description.

   1. Sous **Identifiant**, saisissez un identifiant. Prenez note de cet identifiant de services, car vous aurez besoin de cette valeur une fois que vous aurez choisi Apple comme fournisseur d'identité dans[Configurez votre groupe d'utilisateurs avec un IdP social](cognito-user-pools-social-idp.md#cognito-user-pools-social-idp-step-2).

   1. Choisissez **Continue (Continuer)**, puis **Register (S'inscrire)**.

1. Choisissez l'ID de services que vous venez de créer sur la page Identifiants.

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

   1. 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). 

   1. Cliquez sur l'icône **\$1** à côté de **Site Web URLs**. 

   1. 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>
      ```

   1. Sous **Retour URLs**, entrez le chemin d'accès au `/oauth2/idpresponse` point de terminaison du domaine de votre groupe d'utilisateurs.

      ```
      https://<your-user-pool-domain>/oauth2/idpresponse
      ```

   1. Choisissez **Suivant**, puis cliquez sur **Terminé**. Vous n'avez pas besoin de vérifier le domaine.

   1. Choisissez **Continue** (Continuer), puis **Save** (Enregistrer).

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

1. Dans la page **Keys (Clés)**, choisissez l'icône **\$1**.

1. 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é. 

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

   1. Sur la page **Configurer la clé**, sélectionnez l'ID d'application que vous avez créé précédemment comme **ID d'application principal**. Choisissez **Enregistrer**.

   1. Choisissez **Continue (Continuer)**, puis **Register (Enregistrer)**.

1. Sur la page **Télécharger votre clé**, choisissez **Télécharger** pour télécharger la clé privée, notez l'**ID de clé** affiché, puis choisissez **OK**. 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 [Configurez votre groupe d'utilisateurs avec un IdP social](cognito-user-pools-social-idp.md#cognito-user-pools-social-idp-step-2).

## Ajout d'un fournisseur d'identité social à votre groupe d'utilisateurs
<a name="cognito-user-pools-social-step-2"></a>

Dans cette section, vous configurez un fournisseur d'identité social dans votre groupe d'utilisateurs à l'aide de l'ID client et de la clé secrète du client de la section précédente.

**Pour configurer le fournisseur d'identité sociale d'un groupe d'utilisateurs avec AWS Management Console**

1. Accédez à la [console Amazon Cognito](https://console.aws.amazon.com/cognito/home). Il se peut que vous soyez invité à saisir vos AWS informations d'identification.

1. Choisissez **Groupes d’utilisateurs**.

1. Choisissez un groupe d’utilisateurs existant dans la liste ou [créez-en un](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-as-user-directory.html).

1. Choisissez le menu **Fournisseurs sociaux et externes**. Localisez la **Session fédérée**et sélectionnez **Ajouter un fournisseur d'identité**.

1. Choisissez un fournisseur d'identité social : **Facebook**, **Google**, **Login with Amazon** ou **Se connecter sur Apple**.

1. Choisissez l'une des étapes suivantes, en fonction du fournisseur d'identité sociale de votre choix :
   + **Google** et **Login with Amazon** — Entrez l'**identifiant du client** de **l'application et le code secret** du client généré dans la section précédente.
   + **Facebook** — Entrez l'**ID client de l'****application et le code secret du client** de l'application générés dans la section précédente, puis choisissez une version de l'API (par exemple, la version 2.12). Nous vous recommandons de choisir la dernière version possible : chaque API Facebook possède un cycle de vie et une date d'obsolescence. 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.
   + **Connectez-vous avec Apple** : entrez l'**identifiant de service**, **l'identifiant d'équipe**, l'**identifiant** de **clé et la clé privée** générés dans la section précédente.

1. Entrez les noms des **étendues autorisées** que vous souhaitez 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.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/cognito/latest/developerguide/tutorial-create-user-pool-social-idp.html)

   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 des échecs après avoir quitté la page de connexion d'Apple (cela peut être dû à des défaillances internes d'Amazon Cognito ou à un document écrit par le développeur).
   + L'identifiant de service est utilisé par les and/or autres services d'authentification des groupes d'utilisateurs.
   + Un développeur ajoute des étendues après la connexion de l'utilisateur. Les utilisateurs ne récupèrent de nouvelles informations que lorsqu'ils s'authentifient et lorsqu'ils actualisent leurs jetons.
   + Un développeur supprime l'utilisateur, puis celui-ci se reconnecte sans supprimer l'application de son profil Apple ID.

1. Mappez les attributs de votre fournisseur d'identité à votre groupe d'utilisateurs. Pour de plus amples informations, veuillez consulter [Choses à savoir sur les mappages](cognito-user-pools-specifying-attribute-mapping.md#cognito-user-pools-specifying-attribute-mapping-requirements).

1. Choisissez **Créer**.

1. Dans le menu des **clients de l'application**, choisissez l'un des clients de l'application dans la liste et **modifiez les paramètres de l'interface utilisateur hébergée**. Ajoutez le nouveau fournisseur d'identité sociale au client d' l'application sous **Fournisseurs d'identité**.

1. Sélectionnez **Enregistrer les modifications**.

## Test de la configuration de votre fournisseur d'identité social
<a name="cognito-user-pools-social-step-3"></a>

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://mydomain.auth.us-east-1.amazoncognito.com/login?response_type=code&client_id=1example23456789&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\$1uri**. 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 sont pas traitées dans les 5 minutes et redirige l'utilisateur vers une connexion gérée. La page affiche un message d'erreur `Something went wrong`.