Inscription et confirmation des comptes d’utilisateur - 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.

Inscription et confirmation des comptes d’utilisateur

Des comptes d’utilisateur sont ajoutés à votre groupe d’utilisateurs suite aux opérations suivantes :

Les utilisateurs qui s’inscrivent eux-mêmes doivent être confirmés afin de pouvoir se connecter. Les utilisateurs importés et créés sont déjà confirmés, mais ils doivent créer leur mot de passe la première fois qu’ils se connectent. Les sections suivantes expliquent la procédure de confirmation, ainsi que le mode de vérification par téléphone et par e-mail.

Présentation de la procédure de confirmation d’un compte d’utilisateur

Le schéma suivant illustre la procédure de confirmation :

Lorsque les utilisateurs entrent le code de confirmation, ils vérifient automatiquement leur e-mail ou numéro de téléphone.

Voici les différents états possibles pour un compte d’utilisateur :

Inscrit (non confirmé)

L’utilisateur a réussi à s’inscrire, mais il ne peut pas se connecter tant que son compte n’a pas été confirmé. L’utilisateur est activé, mais il n’est pas confirmé dans cet état.

Au départ, les nouveaux utilisateurs qui s’inscrivent eux-mêmes se voient attribuer cet état.

Confirmé

Le compte d’utilisateur est confirmé et l’utilisateur peut se connecter. Lorsqu’un utilisateur saisit un code ou suit un lien de messagerie pour confirmer son compte d’utilisateur, l’adresse e-mail ou le numéro de téléphone sont automatiquement vérifiés. Le code ou lien est valide pendant 24 heures.

Si le compte d’utilisateur a été confirmé par l’administrateur ou un déclencheur Lambda avant l’inscription, il se peut qu’aucune adresse e-mail ni aucun numéro de téléphone vérifiés ne soient associés au compte.

Réinitialisation du mot de passe requise

Le compte d’utilisateur est confirmé, mais l’utilisateur doit demander un code et réinitialiser son mot de passe afin de pouvoir se connecter.

Au départ, les comptes d’utilisateur qui sont importés par un administrateur ou un développeur affichent cet état.

Modification forcée du mot de passe

Le compte d’utilisateur est confirmé et l’utilisateur peut se connecter à l’aide d’un mot de passe temporaire. Toutefois, à la première connexion et avant toute autre opération, l’utilisateur doit changer son mot de passe en indiquant une nouvelle valeur.

Au départ, les comptes d’utilisateur créés par un administrateur ou un développeur affichent cet état.

Désactivées

Avant de pouvoir supprimer un compte d’utilisateur, vous devez désactiver l’accès à la connexion pour cet utilisateur.

Vérification des coordonnées à l’inscription

Lorsque de nouveaux utilisateurs s’inscrivent à votre application, il est probable que vous voudrez qu’ils fournissent au moins une méthode de contact. Par exemple, avec les coordonnées de vos utilisateurs, vous pouvez :

  • Envoyer un mot de passe temporaire lorsqu’un utilisateur choisit de réinitialiser son mot de passe.

  • Informer les utilisateurs lorsque leurs informations personnelles ou financières sont mises à jour.

  • Envoyer des messages promotionnels, tels que des offres spéciales ou des remises.

  • Envoyer des récapitulatifs de compte ou de rappels de facturation.

Pour de tels cas d’utilisation, il est important que vous adressiez vos messages à une destination vérifiée. Sinon, vous risquez d’envoyer vos messages à une adresse e-mail ou un numéro de téléphone non valide qui a été saisi de façon incorrecte. Ou pire, vous risquez d’envoyer des informations sensibles à des personnes malveillantes qui se font passer pour vos utilisateurs.

Pour vous assurer d’envoyer les messages uniquement aux bonnes personnes, configurez votre groupe d’utilisateurs Amazon Cognito afin que les utilisateurs fournissent les informations suivantes lors de l’inscription :

  1. Adresse e-mail ou numéro de téléphone.

  2. Code de vérification envoyé par Amazon Cognito à l’adresse e-mail ou au numéro de téléphone. Si 24 heures se sont écoulées et que le code ou le lien de votre utilisateur n'est plus valide, appelez l'ResendConfirmationCodeAPIopération pour générer et envoyer un nouveau code ou un nouveau lien.

En fournissant le code de vérification, un utilisateur prouve qu’il a accès à la boîte aux lettres ou au téléphone qui a reçu le code. Une fois que l’utilisateur a fourni le code, Amazon Cognito met à jour les informations relatives à l’utilisateur dans votre groupe d’utilisateurs en :

  • Définissant le statut de l’utilisateur sur CONFIRMED.

  • Mettant à jour les attributs de l’utilisateur pour indiquer que l’adresse e-mail ou le numéro de téléphone est vérifié(e).

Pour afficher ces informations, vous pouvez utiliser la console Amazon Cognito. Vous pouvez également utiliser l'AdminGetUserAPIopération, la admin-get-user commande associée au AWS CLI, ou une action correspondante dans l'un des AWS SDKs.

Si un utilisateur dispose d’une méthode de contact vérifiée, Amazon Cognito envoie automatiquement un message à l’utilisateur lorsque l’utilisateur demande la réinitialisation du mot de passe.

Pour configurer votre groupe d’utilisateurs pour exiger une vérification par téléphone ou par e-mail

Pensez à vérifier les adresses e-mail et les numéros de téléphone de vos utilisateurs afin de pouvoir les contacter. Procédez comme suit AWS Management Console pour configurer votre groupe d'utilisateurs afin de demander à vos utilisateurs de confirmer leur adresse e-mail ou leur numéro de téléphone.

Note

Si vous n’avez pas encore de groupe d’utilisateurs dans votre compte, consultez Démarrage avec les groupes d'utilisateurs.

Pour configurer votre groupe d’utilisateurs
  1. Allez dans la console Amazon Cognito. Si vous y êtes invité, entrez vos AWS informations d'identification.

  2. Dans le volet de navigation, choisissez Groupes d’utilisateurs. Choisissez un groupe d’utilisateurs existant dans la liste ou créez-en un.

  3. Choisissez l’onglet Sign-up experience (Expérience d’inscription) et localisez Attribute verification and user account confirmation (Vérification des attributs et confirmation du compte d’utilisateur). Choisissez Modifier.

  4. Sous Vérification et confirmation assistées par Cognito, indiquez si vous allez Autoriser Cognito à envoyer automatiquement des messages pour vérifier et confirmer. Lorsque ce paramètre est activé, Amazon Cognito envoie des messages aux attributs de contact utilisateur que vous choisissez lorsqu’un utilisateur s’inscrit ou que vous créez un profil utilisateur. Pour vérifier les attributs et confirmer les profils utilisateur pour la connexion, Amazon Cognito envoie un code ou un lien dans des messages aux utilisateurs. Les utilisateurs doivent ensuite saisir le code dans votre interface utilisateur afin que votre application puisse les confirmer dans une AdminConfirmSignUp API demande ConfirmSignUp ou.

    Note

    Vous pouvez également désactiver la vérification et la confirmation assistées par Cognito et utiliser des actions authentifiées API ou des déclencheurs Lambda pour vérifier les attributs et confirmer les utilisateurs.

    Si vous choisissez cette option, Amazon Cognito n’envoie pas de code de vérification quand l’utilisateur s’inscrit. Choisissez cette option si vous utilisez un flux d’authentification personnalisé qui vérifie au moins une méthode de contact sans utiliser les codes de vérification en provenance d’Amazon Cognito. Par exemple, vous pouvez utiliser un déclencheur Lambda avant inscription qui vérifie automatiquement les adresses électroniques qui appartiennent à un domaine spécifique.

    Si vous ne vérifiez pas les coordonnées de vos utilisateurs, ils risquent de ne pas pouvoir utiliser votre application. N’oubliez pas que les utilisateurs nécessitent des informations de contact vérifiées pour :

    • Réinitialisez ses mots de passe : lorsqu'un utilisateur choisit une option dans votre application qui déclenche l'ForgotPasswordAPIaction, Amazon Cognito envoie un mot de passe temporaire à l'adresse e-mail ou au numéro de téléphone de l'utilisateur. Amazon Cognito envoie ce mot de passe uniquement si l’utilisateur a vérifié au moins une méthode de contact.

    • Se connecter en utilisant une adresse e-mail ou un numéro de téléphone comme alias – Si vous configurez votre groupe d’utilisateurs pour autoriser ces alias, un utilisateur peut se connecter avec un alias uniquement si celui-ci est vérifié. Pour de plus amples informations, veuillez consulter Personnalisation des attributs de connexion.

  5. Choisissez votre Attributs à vérifier :

    Envoyer un SMS message, vérifier le numéro de téléphone

    Amazon Cognito envoie un code de vérification dans un SMS message lorsque l'utilisateur s'inscrit. Choisissez cette option si vous communiquez généralement avec vos utilisateurs par le biais de SMS messages. Par exemple, vous voudrez utiliser des numéros de téléphone vérifiés si vous envoyez des notifications de livraison, des confirmations de rendez-vous ou des alertes. Les numéros de téléphone des utilisateurs seront l’attribut vérifié lorsque les comptes sont confirmés. Vous devez prendre des mesures supplémentaires pour vérifier et communiquer avec les adresses e-mail des utilisateurs.

    Envoyer un message électronique, vérifier l’adresse e-mail

    Amazon Cognito envoie par e-mail un code de vérification lorsque l’utilisateur se connecte. Choisissez cette option si vous communiquez généralement avec vos utilisateurs par e-mail. Par exemple, vous souhaitez utiliser des adresses e-mail vérifiées si vous envoyez des relevés de facturation, des récapitulatifs de commande ou des offres spéciales. Les adresses e-mail des utilisateurs seront l’attribut vérifié lorsque les comptes sont confirmés. Vous devez prendre des mesures supplémentaires pour vérifier et communiquer avec les numéros de téléphone des utilisateurs.

    Envoyer SMS un message si le numéro de téléphone est disponible, sinon envoyer un e-mail

    Choisissez cette option si vous n’exigez pas que tous les utilisateurs aient la même méthode de contact vérifié. Dans ce cas, la page d’inscription de votre application peut demander aux utilisateurs de vérifier seulement leur mode de contact préféré. Quand Amazon Cognito envoie un code de vérification, il envoie le code à la méthode de contact fournie dans la demande SignUp de votre application. Si un utilisateur fournit une adresse e-mail et un numéro de téléphone, et que votre application fournit les deux méthodes de contact dans la demande SignUp, Amazon Cognito envoie un code de vérification uniquement au numéro de téléphone.

    Si vous exigez que les utilisateurs soient vérifiés tant à l’aide de leur adresse e-mail qu’à l’aide de leur numéro de téléphone, choisissez cette option. Amazon Cognito vérifie une méthode de contact lorsque l’utilisateur s’inscrit, et votre application doit vérifier l’autre méthode de contact une fois l’utilisateur connecté. Pour de plus amples informations, veuillez consulter Si vous exigez que les utilisateurs confirment leurs adresses e-mail et numéros de téléphone.

  6. Sélectionnez Save Changes (Enregistrer les modifications).

Flux d’authentification avec vérification par e-mail ou par téléphone

Si votre groupe d’utilisateurs requiert que les utilisateurs vérifient leurs informations de contact, votre application doit faciliter le flux suivant quand un utilisateur se connecte :

  1. Un utilisateur s’inscrit dans votre application en entrant un nom d’utilisateur, un numéro de téléphone et/ou une adresse e-mail, et éventuellement d’autres attributs.

  2. Le service Amazon Cognito reçoit la demande d’inscription de l’application. Après avoir vérifié que la demande contient tous les attributs requis pour l'inscription, le service termine le processus d'inscription et envoie un code de confirmation sur le téléphone de l'utilisateur (dans un SMS message) ou par e-mail. Le code est valide pendant 24 heures.

  3. Le service indique à l’application que l’inscription est terminée et que le compte d’utilisateur est en attente de confirmation. La réponse précise où le code de confirmation a été envoyé. A ce stade, le compte d’utilisateur a l’état Non confirmé, et l’adresse e-mail de l’utilisateur ainsi que son numéro de téléphone affichent l’état Non vérifié.

  4. L’application peut maintenant inviter l’utilisateur à entrer le code de confirmation. Il n’est pas nécessaire que l’utilisateur entre ce code immédiatement. Toutefois, il ne pourra pas se connecter tant qu’il n’aura pas saisi le code de confirmation.

  5. L’utilisateur entre le code de confirmation dans l’application.

  6. L’application appelle l’API ConfirmSignUp pour envoyer le code au service Amazon Cognito qui le vérifie et, si le code est correct, affecte au compte d’utilisateur l’état Confirmed (Confirmé). Une fois le compte d’utilisateur effectivement confirmé, le service Amazon Cognito marque automatiquement l’attribut utilisé pour la confirmation (adresse e-mail ou numéro de téléphone) comme vérifié. Sauf modification de la valeur de cet attribut, l’utilisateur n’aura pas à le vérifier à nouveau.

  7. A ce stade, le compte d’utilisateur a l’état Confirmé et l’utilisateur peut se connecter.

Si vous exigez que les utilisateurs confirment leurs adresses e-mail et numéros de téléphone

Amazon Cognito ne vérifie qu’une seule méthode de contact lorsqu’un utilisateur se connecte. Dans les cas où Amazon Cognito doit choisir entre vérifier une adresse e-mail ou un numéro de téléphone, il choisit de vérifier le numéro de téléphone en envoyant un code de vérification par SMS message. Par exemple, si vous configurez votre groupe d’utilisateurs pour permettre aux utilisateurs de vérifier l’adresse e-mail ou le numéro de téléphone, et si votre application fournit ces deux attributs au moment de la connexion, Amazon Cognito vérifie uniquement le numéro de téléphone. Une fois qu’un utilisateur a vérifié son numéro de téléphone, Amazon Cognito définit le statut de l’utilisateur sur CONFIRMED et l’utilisateur est autorisé à se connecter à votre application.

Une fois que l’utilisateur s’est connecté, votre application peut fournir la possibilité de vérifier la méthode de contact qui n’a pas été vérifiée au cours de la connexion. Pour vérifier cette deuxième méthode, votre application lance l'VerifyUserAttributeAPIaction. Notez que cette action requiert un paramètre AccessToken et qu’Amazon Cognito fournit uniquement les jetons d’accès pour les utilisateurs authentifiés. Par conséquent, vous pouvez vérifier la deuxième méthode de contact uniquement une fois que l’utilisateur s’est connecté.

Si vous avez besoin que vos utilisateurs vérifient leur adresse électronique et leur numéro de téléphone, procédez comme suit :

  1. Configurez votre groupe d’utilisateurs afin d’autoriser les utilisateurs à vérifier l’adresse e-mail ou le numéro de téléphone.

  2. Dans le flux de connexion de l’application, exigez que les utilisateurs fournissent à la fois une adresse e-mail et un numéro de téléphone. Appelez l'SignUpAPIaction et fournissez l'adresse e-mail et le numéro de téléphone du UserAttributes paramètre. À ce stade, Amazon Cognito envoie un code de vérification au téléphone de l’utilisateur.

  3. Dans l’interface de votre application, présentez une page de confirmation sur laquelle l’utilisateur entre le code de vérification. Confirmez l'utilisateur en lançant l'ConfirmSignUpAPIaction. À ce stade, le statut de l’utilisateur est CONFIRMED et le numéro de téléphone de l’utilisateur est vérifié, mais l’adresse e-mail, elle, ne l’est pas.

  4. Présentez la page de connexion et authentifiez l'utilisateur en lançant l'action. InitiateAuthAPI Une fois l’utilisateur authentifié, Amazon Cognito renvoie un jeton d’accès à votre application.

  5. Déclenchez l'GetUserAttributeVerificationCodeAPIaction. Spécifiez les paramètres suivants dans la demande :

    • AccessToken – Jeton d’accès renvoyé par Amazon Cognito lorsque l’utilisateur s’est connecté.

    • AttributeName – Spécifiez "email" comme valeur d’attribut.

    Amazon Cognito envoie un code de vérification à l’adresse e-mail de l’utilisateur.

  6. Affichez une page de confirmation sur laquelle l’utilisateur entre le code de vérification. Lorsque l'utilisateur envoie le code, lancez l'VerifyUserAttributeAPIaction. Spécifiez les paramètres suivants dans la demande :

    • AccessToken – Jeton d’accès renvoyé par Amazon Cognito lorsque l’utilisateur s’est connecté.

    • AttributeName – Spécifiez "email" comme valeur d’attribut.

    • Code – Code de vérification que l’utilisateur a fourni.

    À ce stade, l’adresse e-mail est vérifiée.

Autorisation des utilisateurs à s’inscrire dans votre application, mais en les confirmant en tant qu’administrateur du groupe d’utilisateurs

Vous ne voulez peut-être pas que votre groupe d’utilisateurs envoie automatiquement des messages de vérification dans votre groupe d’utilisateurs, mais vous souhaitez tout de même autoriser tout le monde à s’inscrire à un compte. Ce modèle permet, par exemple, une vérification humaine des nouvelles demandes d’inscription, ainsi que la validation et le traitement par lots des inscriptions. Vous pouvez confirmer les nouveaux comptes utilisateurs dans la console Amazon Cognito ou avec l'opération IAM API -authenticated. AdminConfirmSignUp Vous pouvez confirmer les comptes d’utilisateur en tant qu’administrateur, que votre groupe d’utilisateurs envoie ou non des messages de vérification.

Vous ne pouvez confirmer l’inscription en libre-service d’un utilisateur qu’à l’aide de cette technique. Pour confirmer un utilisateur que vous créez en tant qu'administrateur, créez une AdminSetUserPasswordAPIdemande avec Permanent set toTrue.

  1. Un utilisateur s’inscrit dans votre application en entrant un nom d’utilisateur, un numéro de téléphone et/ou une adresse e-mail, et éventuellement d’autres attributs.

  2. Le service Amazon Cognito reçoit la demande d’inscription de l’application. Après avoir vérifié que la demande contient tous les attributs nécessaires pour l’inscription, le service termine la procédure d’inscription et indique à l’application que l’inscription est faite, en attente de confirmation. A ce stade, le compte d’utilisateur affiche l’état Non confirmé. L’utilisateur ne peut pas se connecter tant que son compte n’a pas été confirmé.

  3. Confirmez le compte de l’utilisateur. Vous devez vous connecter AWS Management Console ou signer votre API demande avec vos AWS informations d'identification pour confirmer le compte.

    1. Pour confirmer un utilisateur dans la console Amazon Cognito, accédez à l’onglet Utilisateurs, choisissez l’utilisateur que vous souhaitez confirmer, puis, dans le menu Actions, sélectionnez Confirmer.

    2. Pour confirmer un utilisateur dans le AWS API ouCLI, créez une AdminConfirmSignUpAPIdemande, ou admin-confirm-sign-updans le AWS CLI.

  4. A ce stade, le compte d’utilisateur a l’état Confirmé et l’utilisateur peut se connecter.

Calcul des valeurs de hachage secret

Attribuez un secret client à votre client d’application confidentiel en guise de bonne pratique. Lorsque vous attribuez un secret client à votre application cliente, les API demandes de votre groupe d'utilisateurs Amazon Cognito doivent inclure un hachage incluant le secret client dans le corps de la demande. Pour valider votre connaissance du secret client pour les API opérations répertoriées dans les listes suivantes, concaténez le secret client avec l'ID client de votre application et le nom d'utilisateur de votre utilisateur, puis encodez cette chaîne en base64.

Lorsque votre application connecte des utilisateurs à un client doté d’un hachage secret, vous pouvez utiliser la valeur de n’importe quel attribut de connexion au groupe d’utilisateurs comme élément de nom d’utilisateur du hachage secret. Lorsque votre application demande de nouveaux jetons lors d’une opération d’authentification avec REFRESH_TOKEN_AUTH, la valeur de l’élément username dépend de vos attributs de connexion. Lorsque votre groupe d’utilisateurs n’a pas d’attribut de connexion username, définissez la valeur du nom d’utilisateur de hachage secret de la demande sub de l’utilisateur à partir de son jeton d’accès ou d’identification. Lorsque username est un attribut de connexion, définissez la valeur du nom d’utilisateur de hachage secret indiquée dans la demande username.

Les groupes d'utilisateurs Amazon Cognito suivants APIs acceptent une valeur de hachage client-secret dans un paramètre. SecretHash

En outre, les éléments suivants APIs acceptent une valeur de hachage client-secret dans un SECRET_HASH paramètre, soit dans les paramètres d'authentification, soit dans une réponse à un défi.

APIopération Paramètre parent pour SECRET_HASH
InitiateAuth AuthParameters
AdminInitiateAuth AuthParameters
RespondToAuthChallenge ChallengeResponses
AdminRespondToAuthChallenge ChallengeResponses

La valeur de hachage secrète est un code d'authentification de message à hachage clé codé en Base 64 (HMAC) calculé à l'aide de la clé secrète d'un groupe d'utilisateurs et du nom d'utilisateur d'un groupe d'utilisateurs, ainsi que de l'ID client indiqué dans le message. L’exemple de pseudo-code suivant montre comment cette valeur est calculée. Dans ce pseudocode, + indique la concaténation, HMAC_SHA256 représente une fonction qui produit une HMAC valeur à l'aide de Hmac et Base64 représente une fonction qui produit une version SHA256 codée en Base-64 de la sortie de hachage.

Base64 ( HMAC_SHA256 ( "Client Secret Key", "Username" + "Client Id" ) )

Pour une présentation détaillée du calcul et de l'utilisation du SecretHash paramètre, consultez Comment résoudre les erreurs « Impossible de vérifier le hachage secret pour le client » dans mes groupes d'utilisateurs Amazon Cognito <client-id>? API dans le AWS Knowledge Center.

Vous pouvez utiliser les exemples de code suivants dans votre code d’application côté serveur.

Shell
echo -n "[username][app client ID]" | openssl dgst -sha256 -hmac [app client secret] -binary | openssl enc -base64
Java
import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; public static String calculateSecretHash(String userPoolClientId, String userPoolClientSecret, String userName) { final String HMAC_SHA256_ALGORITHM = "HmacSHA256"; SecretKeySpec signingKey = new SecretKeySpec( userPoolClientSecret.getBytes(StandardCharsets.UTF_8), HMAC_SHA256_ALGORITHM); try { Mac mac = Mac.getInstance(HMAC_SHA256_ALGORITHM); mac.init(signingKey); mac.update(userName.getBytes(StandardCharsets.UTF_8)); byte[] rawHmac = mac.doFinal(userPoolClientId.getBytes(StandardCharsets.UTF_8)); return Base64.getEncoder().encodeToString(rawHmac); } catch (Exception e) { throw new RuntimeException("Error while calculating "); } }
Python
import sys import hmac, hashlib, base64 username = sys.argv[1] app_client_id = sys.argv[2] key = sys.argv[3] message = bytes(sys.argv[1]+sys.argv[2],'utf-8') key = bytes(sys.argv[3],'utf-8') secret_hash = base64.b64encode(hmac.new(key, message, digestmod=hashlib.sha256).digest()).decode() print("SECRET HASH:",secret_hash)

Confirmation des comptes d’utilisateur sans vérification de l’e-mail ou du numéro de téléphone

Le déclencheur Lambda avant l’inscription peut servir à valider automatiquement les comptes d’utilisateur au moment de l’inscription, sans exiger de code de confirmation ni vérifier l’adresse e-mail ou le numéro de téléphone. Les utilisateurs qui sont confirmés de cette façon peuvent immédiatement se connecter, sans avoir besoin d’un code.

Vous pouvez également marquer un e-mail ou le numéro de téléphone de l’utilisateur comme étant vérifié grâce à ce déclencheur.

Note

Bien que cette méthode soit pratique pour les utilisateurs qui débutent, nous recommandons de vérifier au moins l’e-mail ou le numéro de téléphone. Dans le cas contraire, l’utilisateur peut se trouver dans l’incapacité de récupérer son mot de passe en cas d’oubli.

Si vous n’exigez pas que l’utilisateur reçoive et saisisse un code de confirmation au moment de l’inscription et que vous ne vérifiez pas automatiquement l’adresse e-mail ni le numéro de téléphone dans le déclencheur Lambda avant l’inscription, vous risquez de ne pas avoir de numéro de téléphone ni d’adresse e-mail vérifiés pour ce compte d’utilisateur. L’utilisateur peut vérifier son numéro de téléphone ou son adresse e-mail ultérieurement. Toutefois, si l’utilisateur oublie son mot de passe et n’a pas de numéro de téléphone ni d’adresse e-mail vérifiés, il n’a plus aucun moyen d’accéder à son compte, puisque le flux d’oubli du mot de passe exige une adresse e-mail ou un numéro de téléphone vérifié pour envoyer un code de vérification à l’utilisateur.

Vérification en cas de modification de l’adresse e-mail ou du numéro de téléphone par l’utilisateur

Lorsqu’un utilisateur met à jour son adresse e-mail ou son numéro de téléphone dans votre application, Amazon Cognito envoie immédiatement un message contenant un code de vérification à un utilisateur si vous avez configuré votre groupe d’utilisateurs pour vérifier automatiquement cet attribut. L’utilisateur doit ensuite fournir le code du message de vérification à votre application. Votre application envoie ensuite le code dans une VerifyUserAttributeAPIdemande pour terminer la vérification de la nouvelle valeur d'attribut.

Si votre groupe d’utilisateurs n’exige pas que les utilisateurs vérifient une adresse e-mail ou un numéro de téléphone mis à jour, Amazon Cognito modifie immédiatement la valeur d’un attribut email ou phone_number mis à jour, et marque l’attribut comme non vérifié. Votre utilisateur ne peut pas se connecter avec une adresse e-mail ou un numéro de téléphone non vérifiés. Il doit terminer la vérification de la valeur mise à jour avant de pouvoir utiliser cet attribut comme alias de connexion.

Si votre groupe d’utilisateurs exige que les utilisateurs vérifient une adresse e-mail ou un numéro de téléphone mis à jour, Amazon Cognito laisse l’attribut vérifié et défini sur sa valeur d’origine jusqu’à ce que votre utilisateur vérifie la nouvelle valeur d’attribut. Si l’attribut est un alias de connexion, votre utilisateur peut se connecter avec la valeur d’attribut d’origine jusqu’à ce que la vérification modifie l’attribut avec la nouvelle valeur. Pour plus d’informations sur la façon de configurer votre groupe d’utilisateurs pour demander aux utilisateurs de vérifier les attributs mis à jour, consultez Configuration de la vérification par e-mail ou par téléphone.

Pour personnaliser ce message, vous pouvez utiliser un déclencheur Lambda de message personnalisé. Pour de plus amples informations, veuillez consulter Déclencheur Lambda message personnalisé. Quand l’adresse e-mail et le numéro de téléphone d’un utilisateur ne sont pas vérifiés, votre application doit informer l’utilisateur qu’il doit vérifier l’attribut et elle doit fournir un bouton ou un lien permettant à l’utilisateur de vérifier sa nouvelle adresse e-mail ou son nouveau numéro de téléphone.

Procédures de confirmation et de vérification pour les comptes d’utilisateur créés par des administrateurs ou des développeurs

Les comptes d’utilisateur créés par un administrateur ou un développeur affichent déjà l’état Confirmé, et les utilisateurs n’ont pas à saisir de code de confirmation. Le message d’invitation que le service Amazon Cognito envoie à ces utilisateurs inclut leur nom d’utilisateur et un mot de passe temporaire. L’utilisateur doit modifier le mot de passe avant de se connecter. Pour plus d’informations, consultez la section Personnaliser les e-mails et les SMS messages dans Création de comptes d’utilisateur en tant qu’administrateur et celle relative au déclencheur de message personnalisé dans Personnalisation des flux de travail de groupe d'utilisateurs avec des déclencheurs Lambda.

Procédures de vérification et de confirmation pour les comptes d’utilisateur importés

Les comptes utilisateur créés à l'aide de la fonctionnalité d'importation d'utilisateurs dans le AWS Management Console CLI, ou API (voirImportation d'utilisateurs dans des groupes d'utilisateurs à partir d'un CSV fichier) sont déjà dans l'état confirmé. Les utilisateurs ne sont donc pas tenus de saisir un code de confirmation. Aucun message d’invitation n’est envoyé. Toutefois, pour les comptes utilisateur importés, les utilisateurs doivent d'abord demander un code en appelant le, ForgotPassword API puis créer un mot de passe à l'aide du code fourni en appelant ConfirmForgotPassword API avant de se connecter. Pour de plus amples informations, veuillez consulter Obligation pour les utilisateurs importés de réinitialiser leur mot de passe.

L’e-mail de l’utilisateur ou son numéro de téléphone est marqué comme vérifié lorsque le compte d’utilisateur est importé ; aucune vérification n’est donc requise lorsque l’utilisateur se connecte.

Envoi d’e-mails pendant le test de votre application

Amazon Cognito envoie un e-mail à vos utilisateurs lorsqu’ils créent et gèrent leurs comptes dans l’application cliente de votre groupe d’utilisateurs. Si vous configurez votre groupe d’utilisateurs afin d’exiger la vérification des e-mails, Amazon Cognito envoie un e-mail dans les cas suivants :

  • Un utilisateur se connecte.

  • Un utilisateur met à jour son adresse e-mail.

  • Un utilisateur exécute une action qui appelle l'ForgotPasswordAPIaction.

  • Vous créez un compte d’utilisateur en tant qu’administrateur.

En fonction de l’action qui déclenche l’e-mail, celui-ci contient un code de vérification ou un mot de passe temporaire. Vos utilisateurs doivent recevoir ces e-mails et comprendre le message. Sinon, ils peuvent ne pas être en mesure de se connecter et d’utiliser votre application.

Pour garantir que les e-mails sont envoyés avec succès et que le message paraît correct, testez les actions de votre application qui initient les remises d’e-mail à partir d’Amazon Cognito. Par exemple, en utilisant la page d'inscription de votre application ou en utilisant l'SignUpAPIaction, vous pouvez lancer un e-mail en vous inscrivant avec une adresse e-mail de test. Lorsque vous testez ainsi, n’oubliez pas les points suivants :

Important

Lorsque vous utilisez une adresse e-mail pour tester les actions qui initient des e-mails à partir d’Amazon Cognito, n’utilisez pas d’adresse e-mail fictive (une adresse sans boîte aux lettres). Utilisez une adresse e-mail réelle qui recevra l’e-mail à partir d’Amazon Cognito sans déclencher de retour à l’expéditeur.

Un message d’erreur définitif se produit quand Amazon Cognito ne parvient pas à remettre l’e-mail à la boîte aux lettres du destinataire, ce qui se produit toujours si la boîte aux lettres n’existe pas.

Amazon Cognito limite le nombre d'e-mails pouvant être envoyés par des AWS comptes régulièrement soumis à des hard bounces.

Lorsque vous testez des actions qui initient des e-mails, utilisez l’une des adresses suivantes pour empêcher les retours à l’expéditeur définitifs :

  • Une adresse pour un compte de messagerie que vous possédez et utilisez à des fins de test. Lorsque vous utilisez votre propre adresse e-mail, vous recevez l’e-mail envoyé par Amazon Cognito. Avec cet e-mail, vous pouvez utiliser le code de vérification pour tester la connexion de votre application. Si vous avez personnalisé le message électronique pour votre groupe d’utilisateurs, vous pouvez vérifier que vos personnalisation est correcte.

  • Adresse du simulateur de boîte aux lettres, success@simulator.amazonses.com. Si vous utilisez l’adresse du simulateur, Amazon Cognito envoie l’e-mail avec succès, mais vous n’êtes pas en mesure de l’afficher. Cette option est utile lorsque vous n’avez pas besoin d’utiliser le code de vérification ni de vérifier le message électronique.

  • Adresse du simulateur de boîte aux lettres avec ajout d’une étiquette arbitraire, comme success+user1@simulator.amazonses.com ou success+user2@simulator.amazonses.com. Amazon Cognito envoie des e-mails à ces adresses avec succès, mais vous n’êtes pas en mesure de les afficher. Cette option est utile lorsque vous souhaitez tester la procédure de connexion en ajoutant plusieurs utilisateurs de test à votre groupe d’utilisateurs et que chaque utilisateur de test possède une adresse e-mail unique.