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

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

配置电子邮件或电话验证

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

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

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

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

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

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

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

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

重要

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

您可以为 AWS 账户和单个消息指定支出限额,且该限额仅适用于发送 SMS 消息的费用。有关更多信息,请参阅 Amazon SNS FAQs

来自 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 用户池位于 us-east-1 区域,则可以在 us-east-1 区域中更新 Amazon SNS 限制。

示例:如果您的 Cognito 用户池位于 ap-south-1 区域,则可以在 ap-southeast-1 区域中更新 Amazon SNS 限制。

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

要代表您向您的用户发送 SMS 消息,Amazon Cognito 需要您的权限。要授予该权限,您可以选择 AWS Identity and Access ManagementCreate roleIAM,在 控制台的 MFA and verificationsAmazon Cognito 选项卡中创建 () 角色。