Как Cognito проверяет пароль? - PullRequest
0 голосов
/ 29 марта 2019

Я могу создать пользователя в пуле пользователей AWS, используя

module.exports.signup = function(req, res, next) {
    let attributeList = [];
    let dataEmail = {
        Name : 'email',
        Value : req.body.username
    };

    let attributeEmail = new CognitoUserAttribute(dataEmail);

    attributeList.push(attributeEmail);
    userPool.signUp(req.body.username, req.body.password, attributeList, null, function(err, result){
        if (err) {
            console.log('Sigup failure:',err);
            res.status(403).send(err.message);
        }
        let cognitoUser = result.user;
        res.status(200).send({ "user": cognitoUser.getUsername() });
    });
}

, но, похоже, пароль никак не сохраняется в пуле пользователей.Это подразумевает, что это должно быть сохранено где-то еще и затем извлечено оттуда.Какой самый простой или самый распространенный способ хранения и проверки пароля в AWS?После регистрации я не могу войти (предположим, из-за проблемы с паролем).Возвращает ошибку «Неверное имя пользователя или пароль».

1 Ответ

0 голосов
/ 30 марта 2019

Cognito не позволит вам увидеть сохраненные пароли, это часть безопасности. Вы можете аутентифицировать пользователя, используя javascript SDK следующим образом:

    var authenticationData = {
    Username : 'username',
    Password : 'password',
};
var authenticationDetails = new AmazonCognitoIdentity.AuthenticationDetails(authenticationData);
var poolData = { UserPoolId : 'us-east-1_TcoKGbf7n',
    ClientId : '4pe2usejqcdmhi0a25jp4b5sh3'
};
var userPool = new AmazonCognitoIdentity.CognitoUserPool(poolData);
var userData = {
    Username : 'username',
    Pool : userPool
};
var cognitoUser = new AmazonCognitoIdentity.CognitoUser(userData);
cognitoUser.authenticateUser(authenticationDetails, {
    onSuccess: function (result) {
        var accessToken = result.getAccessToken().getJwtToken();

        /* Use the idToken for Logins Map when Federating User Pools with identity pools or when passing through an Authorization Header to an API Gateway Authorizer*/
        var idToken = result.idToken.jwtToken;
    },

    onFailure: function(err) {
        alert(err);
    },

});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...