пул когнито - не удалось зарегистрировать пользователя

Я пытаюсь создать управление пользователями на основе пула пользователей cognito. Я использую nodesjs + express для серверной части, все операции с cognito будут выполняться из nodejs.

мой маршрут регистрации

app.post('/signup', (req, res) => {
let userName = req.body.userName;
let email = req.body.email;
let familyName = req.body.familyName;
let password = req.body.password;

let attributeList = [];

let dataEmail = {
    Name: 'email',
    Value: email
};

let name = {
    Name: 'name',
    Value: userName
};

let familyname = {
    Name: 'family_name',
    Value: familyName
};

let attributeEmail = new AmazonCognitoIdentity.CognitoUserAttribute(dataEmail);
let attributeName = new AmazonCognitoIdentity.CognitoUserAttribute(name);
let attributeFamilyName = new AmazonCognitoIdentity.CognitoUserAttribute(familyname);

attributeList.push(attributeEmail);
attributeList.push(attributeName);
attributeList.push(familyname);

let userPool = new CognitoUserPool(poolData);
userPool.signUp(email, password, attributeList, null, (err, result) => {
    if (err) {
        console.log(`got error during signup ${err}`);
        res.sendStatus(500);
    } else {
        let cognitoUser = result.user;
        console.log('user name is ' + cognitoUser.getUsername());
        res.sendStatus(200);
    }

   });

});

однако я получаю ошибку и не могу найти, как ее преодолеть, ошибка отсутствует в параметре:

получил ошибку во время регистрации MissingRequiredParameter: отсутствует обязательный ключ «Имя пользователя» в параметрах


person li-raz    schedule 12.05.2017    source источник


Ответы (1)


Атрибут «имя пользователя» всегда требуется для регистрации пользователя. Поэтому вам нужно добавить его в список атрибутов.

Если вы не запрашиваете у пользователей имя пользователя или оно не требуется для вашего варианта использования, вы можете просто использовать любое значение, которое вы используете, чтобы однозначно идентифицировать пользователя. Это простой способ справиться с этим.

Так, например, помимо добавления их адреса электронной почты в атрибут адреса электронной почты, отправьте его также в качестве атрибута имени пользователя.

Ссылка: http://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html

person Rob Devereux    schedule 13.05.2017