J'ai créé un pool d'utilisateurs AWS cognito avec l'email comme attribut obligatoire et l'email vérifié pour la vérification. Les utilisateurs sont créés à partir de mon service backend java à l'aide de AWSCognitoClient sdk et en appelant la méthode adminCreateUser (createUser). L'utilisateur reçoit un e-mail avec un mot de passe temporaire qui, en se connectant pour la première fois, définit un nouveau mot de passe. Maintenant, quand j'exécute le flux de mot de passe oublié, je reçois l'erreur suivante,AWS cognito a oublié le flux de mots de passe
InvalidParameterException: Cannot reset password for the user as there is no registered/verified email or phone_number
Bien que j'ai reçu un mot de passe temporaire à l'id e-mail je me suis inscrit et changé mon mot de passe pour toute première fois que je reçois l'erreur ci-dessus . Quelqu'un peut-il expliquer ce qui me manque?
Voici le code javascript am exécution pour flux oublié de mot de passe,
forgotPassword(username: String, poolInfo:any){
var poolData = {
UserPoolId : poolInfo.poolId, // Your user pool id here
ClientId : poolInfo.portalClientId // Your client id here
};
var userPool = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserPool(poolData);
var userData = {
Username : username,
Pool : userPool
};
var cognitoUser = new AWSCognito.CognitoIdentityServiceProvider.CognitoUser(userData);
cognitoUser.forgotPassword({
onSuccess: function (result) {
this.router.navigate(['login']);
},
onFailure: function(err) {
alert(err);
},
//Optional automatic callback
inputVerificationCode: function(data) {
var verificationCode = prompt('Please input verification code ' ,'');
var newPassword = prompt('Enter new password ' ,'');
cognitoUser.confirmPassword(verificationCode, newPassword, this);
}
});
}
marquer la réponse s'il vous plaît – Efren