Passer au contenu principal
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 ainsi que la procédure de création d’un fournisseur OpenID Connect (OIDC) à l’aide de l’AWS CLI.

Configurer Amazon Web Services

Obtenir les détails de l’application Auth0

Vous devez d’abord récupérer certaines informations sur votre application dans Auth0 :
  1. Accédez à Auth0 Dashboard > Applications > Applications.
  2. Sélectionnez votre application, puis ouvrez l’onglet Settings.
  3. Notez le Domaine et l’ID client.

Créer un nouveau fournisseur OpenID Connect (OIDC)

Dans AWS, créez un nouveau (IdP) :
  1. Ouvrez la console IAM, 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.
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.

Créer un pool d’identités

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

Configurer Auth0

Cognito utilise la clé de signature publique des métadonnées du fournisseur OpenID pour valider la signature du (JWT). Assurez-vous que votre application Auth0 est configurée pour utiliser l’algorithme de signature RS256 :
  1. Accédez à Auth0 Dashboard > Applications > 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.

Implémentation

Vous pouvez utiliser le SDK Auth0 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. Cognito prend le 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.

Dépannage

Erreur « Invalid login token »

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