AWS Cognito - 创建用户而不向他们发送验证电子邮件
Posted
技术标签:
【中文标题】AWS Cognito - 创建用户而不向他们发送验证电子邮件【英文标题】:AWS Cognito - Create user without sending them a verification email 【发布时间】:2020-03-12 16:19:44 【问题描述】:我正在尝试为我自己注册的一些用户(管理员)禁用验证过程。
我已经添加了注册前 lambda,就像文档说的那样:
```exports.handler = (event, context, callback) =>
// Confirm the user
event.response.autoConfirmUser = true;
// Set the email as verified if it is in the request
if (event.request.userAttributes.hasOwnProperty("email"))
event.response.autoVerifyEmail = true;
// Set the phone number as verified if it is in the request
if (event.request.userAttributes.hasOwnProperty("phone_number"))
event.response.autoVerifyPhone = true;
// Return to Amazon Cognito
callback(null, event);
;
电子邮件验证仍在发送给用户。
我还尝试在使用 adminCreateUser 创建用户后立即使用 adminConfirmSignUp api 来确认用户。但这是我在使用 adminConfirmSignUp
时遇到的错误NotAuthorizedException: 无法确认用户。当前状态是 FORCE_CHANGE_PASSWORD
有没有其他方法可以不向某些用户发送验证电子邮件?
【问题讨论】:
【参考方案1】:我通过在创建用户时在请求中包含这两个属性来实现这一点。
DesiredDeliveryMediums: [],
MessageAction: "SUPPRESS"
无需预先注册 lambda。
【讨论】:
以上是关于AWS Cognito - 创建用户而不向他们发送验证电子邮件的主要内容,如果未能解决你的问题,请参考以下文章
用于获取AWS Cognito用户池令牌的OAUTH2服务器?
链接到 Cognito 用户池的 AWS Amplify GraphQL 架构