> ## 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 backend-as-a-service 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 obtenir 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 passez à la vue **Settings**.
3. Notez le **Domain** et le **Client ID**.

<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="/docs/fr-ca/glossary?term=identity+provider">fournisseur d’identité</Tooltip> (IdP) :

1. Ouvrez la [console IAM](https://console.aws.amazon.com), sélectionnez **Fournisseurs d’identité** dans la barre latérale de gauche, puis **Ajouter un fournisseur**.
2. Sélectionnez **OpenID Connect** comme **Type de fournisseur**.
3. Pour l’**URL du fournisseur** :

   1. Saisissez votre **Domaine** dans le champ **URL du fournisseur**.
   2. Saisissez votre **Client ID** dans le champ **Audience**.
4. Sélectionnez **Ajouter un fournisseur**.
5. Accédez au fournisseur que vous venez de créer et notez l’**ARN du fournisseur**.

<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 groupe d’identités.
</Callout>

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

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

1. Ouvrez une session dans 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 groupe (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 groupe d’identités.
6. Dans le Dashboard, 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 credentials à Cognito.

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

Cognito utilise la clé de signature publique issue 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 de ID Token (et souvent de Access Token) utilisé pour représenter de manière sécurisée des claims entre deux parties." cta="Voir le glossaire" href="/docs/fr-ca/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 passez à la vue **Settings**.
2. Développez la section **Advanced Settings**, puis passez à la vue **OAuth**.
3. Repérez le champ **JSON Web Token (JWT) Signature Algorithm** et sélectionnez **RS256** dans le menu déroulant.
4. Sélectionnez **Save Changes**.

<div id="implementation">
  ## Mise en œuvre
</div>

Vous pouvez utiliser le [SDK Auth0 Lock](/docs/fr-ca/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 [Open ID Connect providers (identity pools) dans la documentation AWS](http://docs.aws.amazon.com/cognito/latest/developerguide/open-id.html).

Cognito prend le <Tooltip tip="Jeton d’identification : information d’authentification destinée au client lui-même, et non à l’accès à une ressource." cta="Voir le glossaire" href="/docs/fr-ca/glossary?term=ID+token">jeton d’identification</Tooltip> qu’un utilisateur reçoit d’Auth0 et l’utilise pour générer des ID Cognito uniques. Lorsque l’utilisateur se connecte à Cognito par l’entremise d’Auth0, vous pouvez y stocker des renseignements auxquels lui seul peut accéder.

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

<div id="invalid-login-token-error">
  ### "Jeton de connexion invalide"
</div>

Si vous recevez l’erreur "Jeton de connexion invalide", 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 le menu déroulant.
