Обновление номера телефона пользователя перед подтверждением Cognito User - PullRequest
0 голосов
/ 23 апреля 2020

У меня возникли проблемы с обновлением неподтвержденного пользователя в AWS Служба Cognito. Поток таков:

  1. Пользователь регистрируется в моем приложении по электронной почте, телефону и паролю
  2. AWS Cognito отправляет код подтверждения на телефон пользователя
  3. Пользователь понимать, что номер телефона, который он / она ввел при регистрации, неверен, поэтому выбирает параметр изменения телефона
  4. Приложение отправляет запрос на обновление атрибутов пользователя в Cognito, этот успех и Cognito отправляет новый код подтверждения новому телефон пользователя
  5. При использовании этого нового кода для подтверждения пользователя в 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");
        }
   });
...