AWS Cognito用户迁移电子邮件错误

时间:2019-06-06 20:00:05

标签: amazon-cognito

我正在测试Cognito以替换我们现有的身份验证代码,并发现了一个错误。我有一个用户池,并实现了用户迁移lambda来测试迁移过程。用户池已设置为使用电子邮件作为用户名。

从我使用现有凭据登录的客户端中,用户迁移lambda执行以下操作:

event['response']['userAttributes'] = {
            'preferred_username': "migrated guy"
            }
event["finalUserStatus"] = "CONFIRMED"
event["messageAction"] = "SUPPRESS"
return event

登录成功,并且我的用户已迁移到Cognito。但是,用户会立即收到主题为“您的临时密码”和正文为“您的用户名是*****@******.com,临时密码是********”的电子邮件并通过电子邮件发送。电子邮件中的临时密码是Cognito生成的密码,而不是输入/迁移的密码。随后,我可以使用原始密码再次登录,而电子邮件中的密码不起作用。我已经多次尝试了相同的结果。无论迁移的密码是否满足我的密码强度要求,都会发生这种情况。

是否至少有一种避免发送此错误电子邮件的方法?我在做错什么吗?

1 个答案:

答案 0 :(得分:1)

如果要解决此问题,则需要在finalUserStatus而不是messageAction上设置event.responseevent

event.response.finalUserStatus = "CONFIRMED";
event.response.messageAction = "SUPPRESS";

事件结构可以在这里找到:https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-migrate-user.html#cognito-user-pools-lambda-trigger-syntax-user-migration