Pourquoi Amazon Cognito n'envoie-t-il pas le code de vérification par e-mail ou par SMS via l'appel d’API ForgotPassword ?
Je souhaite savoir pourquoi Amazon Cognito n'a pas envoyé de code de vérification par e-mail ou par SMS du service de messagerie SMS lorsque j'utilise l'appel d'API ForgotPassword.
Résolution
Remarque : Si des erreurs surviennent lorsque vous exécutez des commandes de l'interface de la ligne de commande AWS (AWS CLI), consultez la section Résoudre des erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l'AWS CLI.
Vérifier les dossiers de spam et de courrier indésirable
Assurez-vous que l'e-mail de vérification n'est pas envoyé dans les dossiers de spam ou de courrier indésirable de l'utilisateur.
Vérifier que l'utilisateur existe dans le groupe d'utilisateurs
Vérifiez que l'utilisateur existe dans le groupe d'utilisateurs Amazon Cognito. Pour utiliser la console Amazon Cognito afin de rechercher des utilisateurs dans le groupe d'utilisateurs, consultez la section Gestion et recherche de comptes utilisateur. Vous pouvez également utiliser l'appel d’API AdminGetUser.
Vérifier le statut de l'utilisateur
Vérifiez que le statut de l'utilisateur n'est pas FORCE_CHANGE_PASSWORD.
Tant que les utilisateurs créés par les administrateurs ne se connectent pas avec le mot de passe fourni, leur statut par défaut est FORCE_CHANGE_PASSWORD.
Si le statut de l'utilisateur est FORCE_CHANGE_PASSWORD, l’utilisateur ne peut pas utiliser l'appel d’API ForgotPassword et il ne reçoit pas le code de vérification. À la place, Amazon Cognito invite l'utilisateur à modifier son mot de passe.
Récupérer le compte AWS de l'utilisateur
Si vous appelez l'API Mot de passe oublié alors que votre nom d'utilisateur et votre numéro de téléphone ne sont pas vérifiés, l'une des erreurs suivantes s'affiche :
- Dans l’AWS CLI :
« An error occurred (InvalidParameterException) when calling the ForgotPassword operation: Cannot reset password for the user as there is no registered/verified email or phone_number » - Dans la console Amazon Cognito :
« Could not reset password for the account, please contact support or try again. »
Pour récupérer le compte de l’utilisateur, vous devez vérifier la configuration du compte utilisateur. Vérifiez si le mode de remise des messages de récupération est l’e-mail, le téléphone, l’e-mail uniquement, le téléphone uniquement, le téléphone si celui-ci est disponible ou aucun de ces derniers.
Procédez comme suit :
- Ouvrez la console Amazon Cognito.
- Sélectionnez le groupe d'utilisateurs.
- Sous Authentification, choisissez Se connecter.
- Dans la section Récupération du compte utilisateur, cochez les options sous Méthode de transmission du message de récupération. Vérifiez ensuite que la méthode de livraison est un attribut vérifié pour l'utilisateur.
- Vérifiez que la méthode de livraison est un attribut vérifié pour l'utilisateur.
Les utilisateurs dont le statut est CONFIRMÉ peuvent ne pas disposer d'une adresse e-mail ou d'un numéro de téléphone vérifié pour la récupération de leur mot de passe. Lorsque vous cochez la case de vérification pour créer des comptes, vous devez vérifier l'adresse e-mail et le numéro de téléphone des comptes utilisateur créés par un administrateur.
Pour résoudre ce problème, appliquez l'une des méthodes suivantes pour définir le statut vérifié sur vrai :
Mettre à jour vos attributs utilisateur
Si vous êtes administrateur, exécutez l'appel d'API AdminUpdateUserAttributes suivant :
aws cognito-idp admin-update-user-attributes --user-attributes Name=example-verification-method,Value=true --user-pool-id example-userpoolID --username example-user-name
Remarque : Remplacez example-verification-method par email_verified ou phone_number_verified, selon la méthode de remise des messages de récupération de l'utilisateur. Remplacez example-userpoolID par l'ID de votre groupe d'utilisateurs et example-user-name par le nom de l'utilisateur qui souhaite exécuter l'appel API Mot de passe oublié.
Si vous êtes un utilisateur, connectez-vous, puis exécutez l'appel d'API UpdateUserAttributes suivant :
aws cognito-idp update-user-attributes --user-attributes Name=example-verification-method,Value=true --access-token example-access-token
Remarque : Remplacez example-verification-method par email_verified ou phone_number_verified, selon la méthode de remise des messages de récupération de l'utilisateur. Remplacez example-access-token par la valeur de votre jeton d'accès.
Déclencheur Lambda avant inscription
Utilisez le déclencheur Lambda avant inscription pour définir les attributs d'e-mail et de numéro de téléphone d'un utilisateur sur « vérifié ».
Inscription
Si vous êtes un utilisateur, procédez comme suit :
- Exécutez l'appel d'API SignUP suivant :
Remarque : Remplacez example-client-ID par l'ID du client d'application sur lequel vous souhaitez vous inscrire. Remplacez example-user-name par votre nom d'utilisateur.aws cognito-idp sign-up --client-id example-client-ID --username example-user-name - Notez la valeur de Session dans la sortie de la commande précédente.
- Exécutez l'appel d'API ConfirmSignUp suivant :
Remarque : Remplacez example-client-ID par l'ID du client d'application sur lequel vous souhaitez vous inscrire. Remplacez example-user-name par votre nom d'utilisateur. Remplacez example-confirmation-code par la valeur de Session que vous avez notée à l'étape 2.aws cognito-idp confirm-sign-up --client-id example-client-ID --username example-user-name --confirmation-code example-confirmation-code
Si vous êtes administrateur, exécutez l'appel d'API AdminConfirmSignUp suivant :
aws cognito-idp admin-confirm-sign-up --client-id example-client-ID --username example-user-name
Remarque : Remplacez example-client-ID par l'ID du client d’application. Remplacez example-user-name par le nom d'utilisateur.
Vérifier la limite de dépenses du compte pour la messagerie SMS
Amazon Cognito utilise Amazon Simple Notification Service (Amazon SNS) pour envoyer des SMS. Si le quota de dépenses du compte que vous avez défini dépasse la limite de dépenses de votre compte, Amazon SNS ne publie pas de SMS.
Pour vérifier ou modifier la limite de dépenses du compte, consultez la section Configuration des préférences de messagerie SMS à l'aide de la console de gestion AWS.
Vérifier le quota Amazon SES
Amazon Cognito utilise Amazon Simple Email Service (Amazon SES) pour envoyer des e-mails. Par défaut, Amazon Cognito autorise un nombre limité d'e-mails quotidiens pour votre groupe d'utilisateurs. Pour plus d'informations, consultez la section Quotas relatifs au nombre et à la taille des ressources.
Pour définir une délivrance d'e-mails plus élevée, vous pouvez configurer votre groupe d'utilisateurs de manière à utiliser votre configuration d’e-mails Amazon SES. Pour obtenir des instructions, consultez la section Paramètres de messagerie pour les groupes d'utilisateurs Amazon Cognito.
Utiliser l'appel d'API AdminSetUserPassword pour réinitialiser le mot de passe de l’utilisateur
Les administrateurs peuvent utiliser l'appel d’API AdminSetUserPassword pour définir le mot de passe d'un utilisateur dans un groupe d'utilisateurs Amazon Cognito comme temporaire ou permanent. Les utilisateurs disposant de mots de passe temporaires doivent se connecter et modifier le mot de passe temporaire avant son expiration. Une fois qu'un utilisateur a réinitialisé le mot de passe temporaire ou que le mot de passe est permanent, le statut passe à CONFIRMÉ.
Informations connexes
- Balises
- Amazon Cognito
- Langue
- Français

Contenus pertinents
demandé il y a 3 ans
demandé il y a 3 ans
AWS OFFICIELA mis à jour il y a 10 mois
AWS OFFICIELA mis à jour il y a 3 ans