如何在不验证电子邮件或电话的情况下在Cognito用户池中确认用户?

时间:2017-11-18 02:45:40

标签: javascript amazon-web-services amazon-cognito

我正在使用Amazon Cognito Identity SDK for JavaScript

我在没有验证电子邮件和phone_number的情况下创建了新池。

默认情况下,未在Cognito用户池中确认用户,因此我需要手动执行此操作。

如何在不验证电子邮件或电话的情况下在Cognito用户池中确认用户?

2 个答案:

答案 0 :(得分:9)

我希望这会对其他人有所帮助。

为此,您可以添加以下Lambda函数:

exports.handler = (event, context, callback) => {
    event.response.autoConfirmUser = true;
    event.response.autoVerifyEmail = true;  // this is NOT needed if e-mail is not in attributeList
    event.response.autoVerifyPhone = true;  // this is NOT needed if phone # is not in attributeList
    context.done(null, event);
};

然后导航至AWS Cognito的常规设置>>触发器,并将此Lambda函数添加到“预注册”-单击下拉列表,然后选择带有上面代码的Lambda函数。

如果仅使用“ preferred_username”(如果未使用电子邮件或电话号码),则将event.response.autoConfirmUser设置为true就足够了。

答案 1 :(得分:6)

实际上,AWS最近还添加了验证电子邮件和验证预注册 lambda中的电话号码的功能。您基本上需要在lambda中设置 autoVerifyEmail autoVerifyPhone ,他们将得到验证。 official documentation

中的更多信息
"response": {
    "autoConfirmUser": boolean
    "autoVerifyEmail": boolean
    "autoVerifyPhone": boolean
}