У меня возникли проблемы с обновлением неподтвержденного пользователя в AWS Служба Cognito. Поток таков:
- Пользователь регистрируется в моем приложении по электронной почте, телефону и паролю
- AWS Cognito отправляет код подтверждения на телефон пользователя
- Пользователь понимать, что номер телефона, который он / она ввел при регистрации, неверен, поэтому выбирает параметр изменения телефона
- Приложение отправляет запрос на обновление атрибутов пользователя в Cognito, этот успех и Cognito отправляет новый код подтверждения новому телефон пользователя
- При использовании этого нового кода для подтверждения пользователя в Cognito возвращается сообщение о том, что код подтверждения недействителен (просрочен), и необходимо запросить новый.
Я знаю, что Cognito - это черный ящик, но как это возможно, срок действия этого нового кода уже истек?
Я использую nodejs v12.13.1 и aws sdk ^ 2.656.0
This мой лямбда-код
exports.handler = function(event, context,callback){
let phone_number = event.body.phone_number, email = event.body.email;
var params = {
UserAttributes: [
{
Name: constants.INPUT_PHONE_NUMBER,
Value: phone_number
},
],
UserPoolId: process.env.USER_POOL,
Username: email,
};
let cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider();
cognitoidentityserviceprovider.adminUpdateUserAttributes(params, function(err, data) {
if(err){
callback(err);
}else{
callback(null,"ok");
}
});