创建新的 cognito 用户时,我想通过 Pre Sign-up lambda 确认他们的帐户。它看起来如下:
exports.handler = (event, context, callback) => {
// Confirm the user
event.response.autoConfirmUser = true;
// Set the email as verified if it is in the request
if (event.request.userAttributes.hasOwnProperty("email")) {
event.response.autoVerifyEmail = true;
}
// Set the phone number as verified if it is in the request
if (event.request.userAttributes.hasOwnProperty("phone_number")) {
event.response.autoVerifyPhone = true;
}
console.info("EVENT\n" + JSON.stringify(event, null, 2))
console.info("CONTEXT\n" + JSON.stringify(context, null, 2))
// Return to Amazon Cognito
callback(null, event);
};
我获得的 cloudWatch 日志
"response": {
"autoConfirmUser": true,
"autoVerifyEmail": true,
"autoVerifyPhone": true
}
但在 cognito 中,用户未验证 phone_number_verified=false,email_verified=false 并且用户状态为 FORCE_CHANGE_PASSWORD 而不是 CONFIRMED