配置电子邮件或电话验证 - Amazon Cognito
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

配置电子邮件或电话验证

您可以在 MFA and verifications (MFA 和验证) 选项卡中选择电子邮件或电话验证的设置。有关 MFA 的更多信息,请参阅SMS 文本消息 MFA

Amazon Cognito 使用 Amazon SNS 发送 SMS 文本消息。如果您从未从 Amazon Cognito 或任何其他Amazon服务时,Amazon SNS 可能会将您的帐户置于 SMS 沙箱中。Amazon建议您先测试将消息发送到已验证的电话号码,然后再将您的帐户从沙箱移除到生产环境。此外,如果您计划向美国目的地电话号码发送 SMS 消息,则必须从 Amazon Pinpoint 获取发件人 ID 或发件人 ID。要配置 Amazon Cognito 用户池用于 SMS,请参阅Amazon Cognito 用户池的 SMS 消息设置

Amazon Cognito 可以通过发送验证代码 (对于电子邮件,则发送验证链接) 来自动验证电子邮件地址或手机号码。对于电子邮件地址,将通过电子邮件发送代码或链接。对于电话号码,则以 SMS 文本消息形式发送代码。

如果用户忘记了密码,电话或电子邮件验证对于自动确认用户并启用恢复是必不可少的。或者,您也可以通过预注册 Lambda 触发或使用AdminConfirmSignUpAPI。有关更多信息,请参阅注册并确认用户账户

验证代码或链接的有效期为 24 小时。

如果选择了必须进行电子邮件或电话验证,则在用户注册时将自动发送验证代码或链接。

Notes
  • Amazon SNS 将另行收费,用于验证电话号码。(向电子邮件地址发送验证代码是不收费的。) 有关 Amazon SNS 定价的信息,请参阅SMS 定价。有关提供 SMS 消息发送服务的最新国家/地区列表,请参阅支持的区域和国家/地区

  • 当您测试应用程序中的从 Amazon Cognito 发送电子邮件的操作时,请使用 Amazon Cognito 可以发送的真实电子邮件地址,而不会生成硬退回。有关更多信息,请参阅在测试应用程序时发送电子邮件

  • 忘记密码流程要求验证用户的电子邮件或电话号码。

重要

如果用户同时使用电话号码和电子邮件地址注册,且用户池设置需要验证这两个属性,验证代码会通过 SMS 发送到手机上。电子邮件地址未经验证,因此您的应用程序需要调用 GetUser 以查看电子邮件地址是否在等待验证。如果是,则该应用程序应调用 GetUserAttributeVerificationCode 来启动电子邮件验证流,然后通过调用 VerifyUserAttribute 提交验证代码。

支出限制可以指定Amazon帐户和单个消息,且该限额仅适用于发送 SMS 消息的费用。有关更多信息,请参阅 。Amazon SNS 常见问题

除非下表说明,否则来自 Amazon Cognito 用户池的 SMS 消息将通过同一地区的 Amazon SNS 路由。

Amazon Cognito 区域 支持的 SNS 区域
美国东部(俄亥俄)us-east-2 us-east-1
亚太地区(孟买)ap-south-1 ap-southeast-1
亚太地区(首尔)ap-northeast-2 ap-notheast-1
加拿大(中部)ca-central-1 us-east-1
欧洲(法兰克福)eu-central-1 eu-west-1
欧洲(伦敦)eu-west-2 eu-west-1

示例:如果您的 Cognito 用户池位于美国东部 1 区域,您可以在美国东部 1 区域更新 Amazon SNS 限制。

示例:如果您的 Cognito 用户池位于 AP-南1 区域,您可以在东南 1 区域更新 Amazon SNS 限制。

授权 Amazon Cognito 代表您发送 SMS 消息

要代表您向您的用户发送 SMS 消息,Amazon Cognito 需要您的权限。要授予该权限,您可以创建Amazon Identity and Access Management(IAM) 角色MFA 和验证选项 Amazon Cognito 上的创建角色