Sensibilité à la casse du groupe d’utilisateurs - Amazon Cognito

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Sensibilité à la casse du groupe d’utilisateurs

Les groupes d’utilisateurs Amazon Cognito que vous créez dans le AWS Management Console ne sont pas sensibles à la casse par défaut. Lorsqu’un groupe d’utilisateurs n’est pas sensible à la casse,utilisateur@exemple.com et User@example.com reportez-vous au même utilisateur. Lorsque les noms d’utilisateur d’un groupe d’utilisateurs ne sont pas sensibles à la casse, il en va de même pour les attributs preferred_username et email.

Pour prendre en compte les paramètres de sensibilité à la casse du groupe d’utilisateurs, identifiez les utilisateurs dans le code de votre application en fonction d’un autre attribut d’utilisateur. Comme la casse d’un nom d’utilisateur, d’un nom d’utilisateur préféré ou d’un attribut d’adresse e-mail peut varier dans différents profils d’utilisateur, reportez-vous à la place à l’attribut sub. Vous pouvez également créer un attribut personnalisé inaltérable dans votre groupe d’utilisateurs et attribuer votre propre valeur d’identificateur unique à l’attribut de chaque nouveau profil d’utilisateur. Quand vous créez un utilisateur pour la première fois, vous pouvez écrire une valeur dans l’attribut personnalisé inaltérable que vous avez créé.

Note

Quels que soient les paramètres de sensibilité à la casse de votre groupe d’utilisateurs, Amazon Cognito exige qu’un utilisateur fédéré d’un fournisseur d’identité (IdP) SAML ou OIDC transmette une revendication NameId ou sub unique et sensible à la casse. Pour plus d'informations sur la distinction majuscules/majuscules des identificateurs uniques et sur le protocole SAML IdPs, consultezFlux de connexion initié par le SP pour le groupe d'utilisateurs SAML.

Création d’un groupe d’utilisateurs sensible à la casse

Si vous créez des ressources avec le AWS Command Line Interface (AWS CLI) et des opérations d'API telles que CreateUserPool, vous devez définir le CaseSensitive paramètre booléen sur. false Ce paramètre crée un groupe d’utilisateurs insensible à la casse. Si vous ne spécifiez aucune valeur, le CaseSensitive utilise la valeur true par défaut. Ce comportement par défaut est à l’opposé du comportement par défaut des groupes d’utilisateurs que vous créez dans AWS Management Console. Avant le 12 février 2020, les groupes d’utilisateurs étaient sensibles à la casse, quelle que soit la plate-forme.

Vous pouvez utiliser l'onglet Expérience de connexion AWS Management Console ou l'DescribeUserPoolAPI pour vérifier les paramètres de distinction majuscules/minuscules pour chaque groupe d'utilisateurs de votre compte.

Migration vers un nouveau groupe d’utilisateurs

En raison des conflits potentiels entre les profils utilisateur, vous ne pouvez pas rendre insensible à la casse un groupe d’utilisateurs Amazon Cognito sensible à la casse. Au lieu de cela, migrez vos utilisateurs vers un nouveau groupe d’utilisateurs. Vous devez créer un code de migration pour résoudre les conflits liés à la casse. Ce code doit renvoyer un nouvel utilisateur unique ou rejeter la tentative de connexion s’il détecte un conflit. Dans un nouveau groupe d’utilisateurs insensible à la casse, attribuez un Déclencheur Lambda de migration d'utilisateur. La AWS Lambda fonction peut créer des utilisateurs dans le nouveau groupe d’utilisateurs insensible à la casse. Quand l’utilisateur ne parvient pas à se connecter avec le groupe d’utilisateurs insensible à la casse, la fonction Lambda détecte et duplique l’utilisateur à partir du groupe d’utilisateurs sensible à la casse. Vous pouvez également activer un déclencheur Lambda de migration utilisateur lors ForgotPasswordd'événements. Amazon Cognito transmet les informations utilisateur et les métadonnées d’événements de l’action de connexion ou de récupération de mot de passe à votre fonction Lambda. Vous pouvez utiliser les données d’événement pour gérer les conflits entre les noms d’utilisateur et les adresses e-mail lorsque votre fonction crée le nouvel utilisateur dans votre groupe d’utilisateurs insensible à la casse. Ces conflits interviennent entre des noms d’utilisateur et des adresses e-mail qui seraient uniques dans un groupe d’utilisateurs insensible à la casse, mais identiques dans un groupe d’utilisateurs sensible à la casse.

Pour plus d’informations sur la façon d’utiliser un déclencheur Lambda de migration d’utilisateur entre les groupes d’utilisateurs Amazon Cognito, consultez Migrating Users to Amazon Cognito user pools dans le blog AWS.