如何在Amazon Cognito中禁用某些用户的验证?

end*_*unc 5 amazon-cognito

如果激活验证功能,Amazon Cognito会自动发送验证码.在我的项目中,有时候,我会添加用户(AWS Java SDK中的注册功能)并自己通过AdminConfirmSignup验证它们,所以我不希望它们接收验证邮件.我会手动发送定制的电子邮件.(不使用cognito中的自定义lambda)

如果我在该阶段编写预注册lambda函数并验证用户,他们是否仍会收到验证邮件?

我怎样才能实现目标?

小智 16

有一种更快的方法可以做到这一点,而无需实现触发器。我花了很多时间搜索这个解决方案,但文档不清楚。

只需按照下面的两步教程,使用 AWS 的 boto3 函数( https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/cognito-idp.html# )

  1. admin_create_user使用带参数的函数创建用户MessageAction='SUPPRESS'

功能详细信息:这将创建一个没有确认电子邮件的用户,使用临时密码且仍未确认

  1. admin_set_user_password使用带参数的函数设置此新用户的永久密码Permanent=True

功能详情:该功能将用户密码设置为永久并自动确认用户

额外细节:我尝试使用confirm_sign_upadmin_confirm_sign_up功能自动确认,但都不起作用。admin_confirm_sign_up只适用于由sign_up函数创建的用户,而不是由 with 创建的用户admin_create_user


Vin*_*aha 12

使用预注册lambda触发器,您可以自动确认用户.在这种情况下,他们不会收到确认电子邮件.您可以在此文档中找到带有自动确认的预注册示例:http://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers html的

基本上,您在事件响应中将autoConfirmUser标志设置为true.