> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Comment intégrer Auth0 à Amazon Cognito à l’aide d’un fournisseur OpenID Connect (OIDC).

# Intégrer Amazon Cognito

Amazon Cognito est un service de backend qui vous permet de vous concentrer sur le développement de l’expérience utilisateur de votre application. Pour en savoir plus et vous inscrire aux services, consultez [Amazon Cognito](http://aws.amazon.com/cognito/) ainsi que la procédure de création d’un [fournisseur OpenID Connect (OIDC) à l’aide de l’AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/iam/create-open-id-connect-provider.html).

<div id="configure-amazon-web-services">
  ## Configurer Amazon Web Services
</div>

<div id="get-auth0-application-details">
  ### Obtenir les détails de l'application Auth0
</div>

Vous devez d'abord récupérer certaines informations sur votre application dans Auth0 :

1. Accédez à [Auth0 Dashboard > Applications > Applications](https://manage.auth0.com/#/applications).
2. Sélectionnez votre application, puis ouvrez l'onglet **Settings**.
3. Notez le **Domaine** et l'**ID client**.

<div id="create-new-openid-connect-oidc-provider">
  ### Créer un nouveau fournisseur OpenID Connect (OIDC)
</div>

Dans AWS, créez un nouveau <Tooltip tip="fournisseur d’identité (IdP) : service qui stocke et gère les identités numériques." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=identity+provider">fournisseur d’identité</Tooltip> (IdP) :

1. Ouvrez la [console IAM](https://console.aws.amazon.com), sélectionnez **Identity Providers** dans la barre latérale de gauche, puis sélectionnez **Add Provider**.
2. Sélectionnez **OpenID Connect** comme **Provider Type**.
3. Pour le **Provider URL** :

   1. Saisissez votre **Domaine** dans le champ **Provider URL**.
   2. Saisissez votre **ID client** dans le champ **Audience**.
4. Sélectionnez **Add Provider**.
5. Accédez au fournisseur que vous venez de créer et notez le **Provider ARN**.

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Il n’est pas nécessaire de configurer un rôle IAM après avoir créé l’IdP. Si vous n’en avez pas déjà un, Cognito créera un rôle IAM par défaut lorsque vous créerez un Identity Pool.
</Callout>

<div id="create-identity-pool">
  ### Créer un pool d’identités
</div>

Créez un pool d’identités dans AWS pour permettre à Cognito d’utiliser le fournisseur d’identité OIDC Auth0 pour l’authentification :

1. Connectez-vous à la [console Cognito.](https://console.aws.amazon.com/cognito/home)
2. Sélectionnez **Federated Identities**.
3. Pour **Identity Pool Name**, indiquez un nom pour le pool (par exemple, `Auth0`).
4. Sous **Authentication Providers**, sélectionnez l’onglet **OpenID**, puis sélectionnez le nom du fournisseur que vous avez créé précédemment.
5. Sélectionnez **Create Pool**, puis **Allow** pour terminer la création du nouveau pool d’identités.
6. Dans le tableau de bord, sélectionnez **Edit Identity Pool** pour afficher l’**Identity Pool ID**.
7. Notez l’**ARN** du rôle IAM créé automatiquement. Cette valeur sera utilisée lors de l’envoi des informations d’identification à Cognito.

<div id="configure-auth0">
  ## Configurer Auth0
</div>

Cognito utilise la clé de signature publique des [métadonnées du fournisseur OpenID](https://subscription.auth0.com/.well-known/jwks.json) pour valider la signature du <Tooltip tip="JSON Web Token (JWT) : format standard d’ID Token (et souvent de Jeton d’accès) utilisé pour représenter de façon sécurisée des assertions entre deux parties." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=JSON+Web+Token">JSON Web Token</Tooltip> (JWT).

Assurez-vous que votre application Auth0 est configurée pour utiliser l’algorithme de signature RS256 :

1. Accédez à [Auth0 Dashboard > Applications > Applications](https://manage.auth0.com/#/applications), sélectionnez votre application, puis ouvrez la vue **Settings**.
2. Développez la section **Advanced Settings**, puis ouvrez la vue **OAuth**.
3. Repérez le champ **JSON Web Token (JWT) Signature Algorithm**, puis sélectionnez **RS256** dans le menu déroulant.
4. Sélectionnez **Save Changes**.

<div id="implementation">
  ## Implémentation
</div>

Vous pouvez utiliser le [SDK Auth0 Lock](/fr-CA/docs/libraries#lock) pour intégrer Auth0 à votre application.

Une fois que l’utilisateur se connecte avec Auth0, l’étape suivante consiste à envoyer ses identifiants à Cognito. Pour en savoir plus, consultez [Fournisseurs OpenID Connect (groupes d’identités) dans la documentation AWS](http://docs.aws.amazon.com/cognito/latest/developerguide/open-id.html).

Cognito prend le <Tooltip tip="ID Token : Information d’identification destinée à l’application cliente elle-même, plutôt qu’à l’accès à une ressource." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=ID+token">jeton d’identité</Tooltip> qu’un utilisateur reçoit d’Auth0 et l’utilise pour générer des identifiants Cognito uniques. Lorsque l’utilisateur se connecte à Cognito par l’intermédiaire d’Auth0, vous pouvez stocker dans Cognito des renseignements auxquels seul cet utilisateur peut accéder.

<div id="troubleshooting">
  ## Dépannage
</div>

<div id="invalid-login-token-error">
  ### Erreur « Invalid login token »
</div>

Si vous recevez l’erreur « Invalid login token », assurez-vous que l’application Auth0 est configurée pour utiliser l’algorithme de signature RS256 :

1. Accédez à [Auth0 Dashboard > Applications > Applications](https://manage.auth0.com/#/applications), sélectionnez votre application, puis ouvrez la vue **Settings**.
2. Développez la section **Advanced Settings**, puis ouvrez la vue **OAuth**.
3. Repérez le champ **JSON Web Token (JWT) Signature Algorithm**, puis sélectionnez **RS256** dans la liste déroulante.
