在AWS Cognito中对用户进行身份验证

时间:2019-07-10 00:26:46

标签: amazon-web-services aws-lambda amazon-cognito

这是AWS提供的用于验证用户身份的示例代码

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);
    },

});

但是,在这种情况下,如果我使用AWS Lambda来处理事件,则无法从事件中检索密码。我该如何验证用户身份?谢谢:)

1 个答案:

答案 0 :(得分:0)

您无需创建lambda即可对用户进行身份验证。 Cognito会解决这个问题。您共享的代码用于前端应用程序,在该应用程序中它与cognito服务连接以对用户进行身份验证。