Поток «Забыли имя пользователя» для AWS Cognito? - PullRequest
0 голосов
/ 13 июля 2020

Я пытаюсь реализовать функцию забытого имени пользователя в AWS когнито. Я использую приложение ReactJs. Судя по онлайн-ссылкам, кажется, что я могу вызывать ListUsers и фильтровать их по своим пользовательским атрибутам. Мне удалось получить имя пользователя на основе фильтра. Однако мне нужно отправить электронное письмо пользователю с именем пользователя. Как отправить SMS или электронное письмо, чтобы пользователь получил забытое имя пользователя? Нужно ли мне создавать лямбду, отправляющую электронное письмо?

var AWS = require('aws-sdk'); 
AWS.config.region = 'myregion';
AWS.config.update({accessKeyId: 'accessKey', secretAccessKey: 'secretAccessKey',apiVersion: '2016-04-19',sessionToken: 'token'})
  const userParams = {
      UserPoolId: 'myUserPoolId',
      Filter: 'email=myEmail@mydomain.com'
      };
  var poolData = {
      UserPoolId: 'myUserPoolId',
      ClientId: 'myClientId'
  };
  var identity  = new AWS.CognitoIdentityServiceProvider(poolData);
   try {
        const {Users} = await identity.listUsers(userParams).promise();
        console.log({Users});
      if (Users && Users.length > 0) {
        console.log(Users.length);
        //TODO: need to send retrieved username in an email based on email address provided
        }

    }catch(error) {
      console.log({error}, JSON.stringify(error))
    }



...