Intégration avec Amazon Cognito

Amazon Cognito est un système dorsal en tant que service (backend mobile) 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 et le processus de création d’un fournisseur OpenID Connect (OIDC) provider via l'interface de ligne de commande AWS.

Configuration des services Amazon Web

Obtenir les détails de l’application Auth0

Tout d’abord, vous devez obtenir des informations sur votre application dans Auth0 :

  1. Rendez-vous dans Auth0 Dashboard> Applications > Applications.

  2. Sélectionnez votre application, puis affichez les paramètres.

  3. Enregistrez le Domaine et l’ID Client.

Création d’un nouveau fournisseur OpenID Connect (OIDC)

Dans AWS, créez un nouveau fournisseur d’identité (IdP) :

  1. Ouvrez la console IAM, sélectionnez Fournisseur d’identité dans la barre latérale gauche, puis sélectionnez Ajouter fournisseur.

  2. Sélectionnez OpenID Connect comme Type de fournisseur.

  3. Pour l’URL fournisseur :

    1. Saisissez votre Domaine dans le champ Fournisseur URL.

    2. Saisissez votre ID Client dans le champ Audience.

  4. Sélectionnez Ajouter fournisseur.

  5. Naviguez jusqu’au fournisseur que vous venez de créer et enregistrez l’ARN du fournisseur.

Création d’un groupe d’identités

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

  1. Connectez-vous à la console Cognito.

  2. Sélectionnez Identités fédérées.

  3. Pour Nom du groupe d’identité, indiqué un nom (par ex., Auth0).

  4. Sous Fournisseurs d’identité, sélectionnez l’onglet OpenID, puis sélectionnez le nom du fournisseur que vous avez créé précédemment.

  5. Sélectionnez Créer groupe, puis Autoriser pour terminer la création du nouveau groupe d’identités.

  6. Sous Dashboard, sélectionnez Modifier groupe d’identités pour afficher ID du groupe d’identités.

  7. Enregistrez l’ARN du rôle IAM qui a été automatiquement créé. Cette valeur sera utilisée lors de l’envoi d’informations d’identification à Cognito.

Configuration d’Auth0

Cognito utilise la clé de connexion publique Métadonnées du fournisseur OpenID pour valider la signature du jeton Web JSON (JWT).

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

  1. Allez à Auth0 Dashboard > Applications > Applications, sélectionnez votre application, puis affichez les Paramètres.

  2. Élargissez la section Paramètres avancés, et affichez OAuth.

  3. Localisez le champ Algorithme de signature du jeton Web JSON (JWT), et sélectionnez RS256 dans le menu déroulant.

  4. Sélectionnez Sauvegarder les changements.

Implémentation

Vous pouvez utilisez la trousse SDK Auth0 Lock pour intégrer Auth0 dans votre application.

Une fois que l’utilisateur s’est connecté avec Auth0, l’étape suivante consiste à envoyer ses identifiants à Cognito. Pour en savoir plus, consultez Fournisseurs Open ID Connect (groupes d’identité) sur AWS Docs.

Cognito prend le jeton d’ID qu’un utilisateur reçoit d’Auth0 et l’utilise pour générer des identifiants Cognito uniques. Lorsque l’utilisateur se connecte à Cognito via Auth0, vous pouvez stocker dans Cognito des informations auxquelles il est le seul à avoir accès.

Dépannage

Erreur « Jeton de connexion invalide »

Si vous recevez un message d’erreur « Jeton de connexion invalide », vérifiez que l’application Auth0 est configurée pour utiliser l’algorithme de signature RS256 :

  1. Allez à Auth0 Dashboard > Applications > Applications, sélectionnez votre application, puis affichez les Paramètres.

  2. Élargissez la section Paramètres avancés, et affichez OAuth.

  3. Localisez le champ Algorithme de signature du jeton Web JSON (JWT), et sélectionnez RS256 dans le menu déroulant.