我正在尝试使用Cognito,但似乎无法弄清楚如何使Cognito向用户发送验证电子邮件,以便他们验证其电子邮件地址。
这是在我的后端服务器中,我从那里收到了新用户的用户名,电子邮件和密码。我禁止执行消息操作,因为我不希望用户收到临时密码。相反,我想将密码设置为他们已经提供给我的密码。
AdminCreateUserRequest adminCreateUserRequest = new AdminCreateUserRequest().withUserPoolId("<user pool ID>")
.withUsername(registerUserRequest.getUsername())
.withUserAttributes(new AttributeType().withName("email")
.withValue(registerUserRequest.getEmail()), new AttributeType().withName("email_verified")
.withValue("false"))
.withMessageAction(MessageActionType.SUPPRESS);
awsCognitoIdentityProvider.adminCreateUser(adminCreateUserRequest);
AdminSetUserPasswordRequest adminSetUserPasswordRequest = new AdminSetUserPasswordRequest().withUserPoolId(<user pool ID>)
.withUsername(registerUserRequest.getUsername())
.withPassword(registerUserRequest.getPassword())
.withPermanent(true);
awsCognitoIdentityProvider.adminSetUserPassword(adminSetUserPasswordRequest);
但是,用户永远不会收到用来验证其电子邮件地址的电子邮件。在用户池配置中,在“您要验证哪些属性?”下选择“电子邮件”。并且我已经验证了我在SES中发送的电子邮件地址。我在这里想念东西吗?