Configurer Amazon Web Services
Obtenir les détails de l’application Auth0
Vous devez d’abord obtenir certaines informations sur votre application dans Auth0 :- Accédez à Auth0 Dashboard > Applications > Applications.
- Sélectionnez votre application, puis passez à la vue Settings.
- Notez le Domain et le Client ID.
Créer un nouveau fournisseur OpenID Connect (OIDC)
Dans AWS, créez un nouveau (IdP) :- Ouvrez la console IAM, sélectionnez Fournisseurs d’identité dans la barre latérale de gauche, puis Ajouter un fournisseur.
- Sélectionnez OpenID Connect comme Type de fournisseur.
-
Pour l’URL du fournisseur :
- Saisissez votre Domaine dans le champ URL du fournisseur.
- Saisissez votre Client ID dans le champ Audience.
- Sélectionnez Ajouter un fournisseur.
- 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 :- Ouvrez une session dans la console Cognito.
- Sélectionnez Federated Identities.
- Pour Identity Pool Name, indiquez un nom pour le groupe (par exemple,
Auth0). - Sous Authentication Providers, sélectionnez l’onglet OpenID, puis sélectionnez le nom du fournisseur que vous avez créé précédemment.
- Sélectionnez Create Pool, puis Allow pour terminer la création du nouveau groupe d’identités.
- Dans le Dashboard, sélectionnez Edit Identity Pool pour afficher l’Identity Pool ID.
- 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 :- Accédez à Auth0 Dashboard > Applications > Applications, sélectionnez votre application, puis passez à la vue Settings.
- Développez la section Advanced Settings, puis passez à la vue OAuth.
- Repérez le champ JSON Web Token (JWT) Signature Algorithm et sélectionnez RS256 dans le menu déroulant.
- 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 :- Accédez à Auth0 Dashboard > Applications > Applications, sélectionnez votre application, puis ouvrez la vue Settings.
- Développez la section Advanced Settings, puis ouvrez la vue OAuth.
- Repérez le champ JSON Web Token (JWT) Signature Algorithm, puis sélectionnez RS256 dans le menu déroulant.