En utilisant AWS re:Post, vous acceptez les AWS re:Post Conditions d’utilisation

Comment puis-je obtenir des jetons OIDC ou d’identité sociale émis par un IdP pour les groupes d’utilisateurs Amazon Cognito ?

Lecture de 5 minute(s)
0

Je souhaite savoir comment obtenir les jetons d’accès et d’identification émis par le fournisseur d’identité (IdP) que j’ai intégré aux groupes d’utilisateurs Amazon Cognito à des fins d’autorisation ou de résolution de problèmes.

Brève description

Le flux d’authentification IdP d’OpenID Connect (OIDC) ne permet pas à l’utilisateur ou à l’application de voir les jetons côté IdP. À des fins d’autorisation ou de résolution de problèmes, certains cas d’utilisation nécessitent les jetons émis par l’IdP dans l’application.

Important : La résolution suivante suppose que vous avez intégré l’IdP OIDC ou l’IdP social aux groupes d’utilisateurs Amazon Cognito. Si vous n’avez pas intégré d’IdP à votre groupe d’utilisateurs, ajoutez une connexion au groupe d’utilisateurs via un tiers.

Résolution

Créer un attribut personnalisé dans un groupe d’utilisateurs

Pour créer un attribut personnalisé dans votre groupe d’utilisateurs, procédez comme suit :

  1. Ouvrez la nouvelle console Amazon Cognito, puis choisissez l’onglet Expérience d’inscription dans le groupe d’utilisateurs.
  2. Dans la section Attributs personnalisés, choisissez Ajouter des attributs personnalisés.
  3. Pour créer un attribut personnalisé pour un jeton d’accès, saisissez les valeurs suivantes :
    Nom : access_token
    Type : Chaîne
    Max : 2 048
    Modifiable : Sélectionnez cette case à cocher
  4. Choisissez Enregistrer.
  5. Pour créer un attribut personnalisé pour un jeton d’identification, saisissez les valeurs suivantes :
    Nom : id_token
    Type : Chaîne
    Max : 2 048
    Modifiable : Sélectionnez cette case à cocher
  6. Choisissez Enregistrer.

Configurer le mappage des attributs entre Amazon Cognito et l’IdP

Pour configurer le mappage des attributs de l’IdP, procédez comme suit :

  1. Ouvrez la nouvelle console Amazon Cognito, puis choisissez l’onglet Expérience de connexion dans le groupe d’utilisateurs.
  2. Dans la section Connexion au fournisseur d’identité fédérée, sélectionnez votre IdP dans la liste.
  3. Dans la section Informations sur le fournisseur d’identité, choisissez Modifier. Assurez-vous que les portées suivantes figurent dans la section Portées autorisées :
    Facebook : public_profile, e-mail
    Google : e-mail du profil openid
    Connexion avec Amazon : profil, postal_code
    Connexion avec Apple : nom de l’e-mail
    Tous les autres fournisseurs OIDC : e-mail du profil openid
  4. Sur la page du fournisseur d'identité, choisissez Modifier dans la section Mappage d’attributs.
  5. Dans la colonne Attribut de groupe d’utilisateurs, sélectionnez votre attribut personnalisé.
  6. Dans la colonne Attribut OpenID Connect, sélectionnez access_token ou id_token.
  7. Choisissez Enregistrer.

Les résultats de la configuration du mappage des attributs sont les suivants :

  • Attribut de groupe d’utilisateurs : custom:id_token
  • Attribut OpenID Connect : id_token
  • Attribut de groupe d’utilisateurs : custom:access_token
  • Attribut OpenID Connect : access_token

Activer les autorisations de lecture et d’écriture pour les attributs dans votre client d’application Amazon Cognito

Lorsqu’un utilisateur se connecte à l’application, Amazon Cognito met à jour les attributs mappés. Pour qu’Amazon Cognito mette à jour les attributs du groupe d’utilisateurs mappés, ceux-ci doivent être accessibles en écriture dans les paramètres du client d’application de votre application. Pour qu’Amazon Cognito mette à jour le jeton d’identification de l’utilisateur, les attributs doivent être lisibles dans les paramètres de votre client d’application.

Pour activer les autorisations de lecture et d’écriture, procédez comme suit :

  1. Ouvrez la nouvelle console Amazon Cognito, puis choisissez l’onglet Intégration d’application dans votre groupe d’utilisateurs.
  2. Sélectionnez votre client d’application.
  3. Dans la section Autorisations de lecture et d’écriture pour les attributs, choisissez Modifier.
  4. Sur la page Modifier les autorisations de lecture et d’écriture pour les attributs, cochez les cases lecture et écriture pour vos attributs personnalisés.
  5. Choisissez Enregistrer.

Répétez ces étapes pour chaque client d’application qui utilise l’attribut personnalisé.

Pour plus d’informations, consultez la section Autorisations et portées des attributs.

Utiliser le fournisseur OIDC tiers ou l’IdP social pour vous connecter

Lorsque vous effectuez une nouvelle authentification IdP via l’interface utilisateur hébergée d’Amazon Cognito, vous pouvez voir les jetons IdP dans les attributs personnalisés. Choisissez un utilisateur final pour afficher les jetons IdP dans ses attributs. Lorsque vous décodez le jeton d’identification, vous pouvez également voir les attributs personnalisés qui contiennent des jetons IdP.

Exemple de section de charge utile du jeton d’identification émis pour l’utilisateur final :

{
   "custom:access_token": "ya29.a0AeTM1ic9iv_FqpDQeIN......w1OPKdFEbR_Tea",
   "iss": "https://cognito-idp.example_region.amazonaws.com/example_user_pool_id",
   "custom:id_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjhjMjdkYjRkMTN............saDMuZ29vZ2xldXNlcmNv"
}

Important :

  • La longueur maximale d’un attribut personnalisé est de 2 048 caractères. Lorsqu’un jeton IdP dépasse 2 048 caractères, le message d’erreur suivant s’affiche : « La longueur des attributs de chaîne ne peut dépasser 2 048 caractères ».
  • Après avoir créé un attribut personnalisé, vous ne pouvez ni le modifier ni le supprimer.
  • Si l’attribut personnalisé n’est pas mis à jour lors des prochaines connexions, vérifiez sa mutabilité. Ce problème peut se produire si vous désactivez la case Modifiable lors de la création de l’attribut. Pour en savoir plus, consultez la section Attributs personnalisés.

Remarque : Si vous ne parvenez toujours pas à obtenir un jeton d’IdP, contactez votre IdP. Vérifiez si l’IdP accepte la transmission de jetons dotés d’attributs à Amazon Cognito. Contactez ensuite AWS Support pour obtenir des informations supplémentaires sur la résolution des problèmes.

Informations connexes

Comment puis-je configurer Auth0 en tant que fournisseur OIDC dans un groupe d’utilisateurs Amazon Cognito ?

Comment puis-je configurer LinkedIn en tant que fournisseur d’identité social dans un groupe d’utilisateurs Amazon Cognito ?

Comment puis-je configurer Okta en tant que fournisseur d’identité OpenID Connect dans un groupe d’utilisateurs Amazon Cognito ?

Comment puis-je configurer Google en tant que fournisseur d’identité fédérée dans un groupe d’utilisateurs Amazon Cognito ?

Comment afficher une réponse SAML dans le navigateur à des fins de résolution de problèmes

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 9 mois