Trigger on pre-registration这个选项lambda函数(Node.js v6):
exports.handler = function(event, context) {
event.response.autoConfirmUser = true;
event.response.autoVerifyEmail = true;
event.response.autoVerifyPhone = true;
context.done(null, event);
};
使用“配置测试事件”,你可以先用这个有效载荷
{
"version": 1,
"triggerSource": "PreSignUp_SignUp",
"region": "<region>",
"userPoolId": "<userPoolId>",
"userName": "<userName>",
"callerContext": {
"awsSdk": "<calling aws sdk with version>",
"clientId": "<apps client id>"
},
"request": {
"userAttributes": {
"email": "[email protected]"
},
"validationData": {
"k1": "v1",
"k2": "v2"
}
},
"response": {
"autoConfirmUser": false,
"autoVerifyEmail": false,
"autoVerifyPhone": false
}
}
当你创建一个从API的验证标志应该是true
用户测试它现在。
感谢您的回复,所以我收集如果用户丢失了密码,我们处于CONFIRMED email_verified = false状态,唯一能想到的是将删除他们的帐户并重新创建它。 – user1432403
正确。他们必须登录才能获取通过此流程所需的令牌。 –
有没有计划让这个工作? [docs](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminCreateUser.html)表示在创建用户时该标志可以设置为true,而控制台排序认为它已被验证(它将显示“重置密码”按钮),但实际上尝试重置密码失败并显示“未验证的电子邮件”错误。对于用户来说,通过电子邮件向他们发送一个临时密码似乎不仅仅是一件愚蠢的事情(而且也是一种痛苦),然后再发送*另一封电子邮件来验证他们的电子邮件地址是否有效。 – kdgregory