Skip to main content
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 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 obtenir certaines informations sur votre application dans Auth0 :
  1. Accédez à Auth0 Dashboard > Applications > Applications.
  2. Sélectionnez votre application, puis passez à la vue Settings.
  3. Notez le Domain et le Client ID.

Créer un nouveau fournisseur OpenID Connect (OIDC)

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

Créer un groupe d’identités

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

Configurer Auth0

Cognito utilise la clé de signature publique issue 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 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.

Mise en œuvre

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 Open ID Connect providers (identity pools) dans la documentation AWS. Cognito prend le 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.

Dépannage

”Jeton de connexion invalide”

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