因此,我正在使用(或至少尝试使用) Amazon Cognito和Lambda函数来进行身份验证。流程如下:我发送请求,它转到API Gateway,API Gateway将其定向到特定的Lambda函数。我正在使用Node JS和amazon-cognito identity-js库。我可以注册用户。问题是,Cognito在注册后发送带有确认码的电子邮件。我无法创建另一个Lambda (API端点)函数进行确认,因为它需要CognitoUser对象(您在注册或登录后收到)。以下是AWS文档中的代码:
cognitoUser.changePassword('oldPassword', 'newPassword', function(err, result) {
if (err) {
alert(err);
return;
}
console.log('call result: ' + result);
});所以基本上,它不是为Lambda函数设计的,因为它需要在注册后保存状态-用户。我是不是搞错了?有什么办法吗?
发布于 2019-10-10 22:37:17
哦,好吧,我的错。显然,您可以仅使用用户名和用户池创建一个CognitoUser对象:
const poolData = {
UserPoolId : process.env.COGNITO_USER_POOL_ID,
ClientId : process.env.COGNITO_CLIENT_ID
};
const userPool = new AmazonCognitoIdentity.CognitoUserPool(poolData);
...
const userData = {
Username : email,
Pool : userPool
};然后你就可以打电话给
cognitoUser.confirmRegistration(confirmationCode, true, function(err, result) {
if (err) {
alert(err);
return;
}
alert(result);
});https://stackoverflow.com/questions/58325054
复制相似问题