Amazon web services 如何要求使用AWS Cognito对注册用户进行管理员确认?

Amazon web services 如何要求使用AWS Cognito对注册用户进行管理员确认?,amazon-web-services,amazon-cognito,Amazon Web Services,Amazon Cognito,我正在使用Cognito托管的UI选项为我的网站注册和登录用户。目前,注册用户可以立即使用其用户名/密码登录。这是一个问题,因为这允许任何人注册,然后访问网站的限制部分。我想做的是要求管理员手动确认每个注册用户才能登录 这可以实现吗?如果您想手动确认使用您的Cognito用户池注册的每个用户,您可以执行以下步骤: 步骤1:确保在Amazon Cognito用户池控制台的“MFA和验证”侧栏中未选中电子邮件/短信验证要求 步骤2:要改善用户体验,请为web/mobile应用程序使用自定义UI。用户

我正在使用Cognito托管的UI选项为我的网站注册和登录用户。目前,注册用户可以立即使用其用户名/密码登录。这是一个问题,因为这允许任何人注册,然后访问网站的限制部分。我想做的是要求管理员手动确认每个注册用户才能登录


这可以实现吗?

如果您想手动确认使用您的Cognito用户池注册的每个用户,您可以执行以下步骤:

步骤1:确保在Amazon Cognito用户池控制台的“MFA和验证”侧栏中未选中电子邮件/短信验证要求

步骤2:要改善用户体验,请为web/mobile应用程序使用自定义UI。用户注册后,将他们重定向到另一个网页,该网页声明他们需要管理员验证。如果您使用的是Cognito默认UI,那么消息“User Pool not configured not Righted for confirmation code delivery”(用户池未正确配置以进行确认代码交付),这并不一定能提供无缝的用户体验

步骤3:现在,您注册的用户应该在Amazon Cognito用户池中具有“未确认”状态

步骤4:要手动确认用户,可以从应用程序代码或CLI使用AdminConfirmSignUp API调用[1]。这需要用户池id和用户名,还需要管理员凭据才能成功运行

我在我的终端进行了测试,我能够手动确认所有注册到我的Amazon Cognito用户池的用户。 我在我的终端上尝试的API调用如下(通过CLI测试):

在AdminConfirmSignUp API调用之后,“未确认”用户应该具有“已确认”状态

工具书类 [1]

aws cognito-idp admin-confirm-sign-up --user-pool-id us-east-1_XXXX --username XXXX