Amazon Cognito 用户池的 SMS 消息设置 - Amazon Cognito
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

Amazon Cognito 用户池的 SMS 消息设置

针对您的用户池的某些 Amazon Cognito 事件可能会导致 Amazon Cognito 向您的用户发送 SMS 短信。例如,如果您将用户池配置为需要电话验证,则当用户在应用程序中注册新账户或重置其密码时,Amazon Cognito 会发送 SMS 文本消息。根据发起 SMS 文本消息的操作,消息将包含验证码、临时密码或欢迎消息。

Amazon Cognito 使用 Amazon Simple Notification Service (SNS) 来递送 SMS 文本消息。如果这是您第一次通过 Amazon Cognito 或 Amazon SNS 发送短信,您将被放置在 Amazon SNS 中的沙盒环境中。这将允许您测试您的应用程序是否有短信。在沙箱中,邮件只能发送到已验证的电话号码。

首次在 Amazon Cognito 用户池中设置 SMS 消息

Amazon Cognito 使用 Amazon SNS 向您的用户池发送 SMS 消息。当您首次设置 Amazon SNS 发送 SMS 短信时,您的Amazon帐户被放置在 Amazon SNS 沙箱中。Amazon SNS 使用沙盒来防止欺诈和滥用,并满足合规性要求。在沙箱中,Amazon SNS 规定了一些限制。例如,您最多可以将短信发送到 10 个已通过 Amazon SNS 验证的电话号码。虽然您的Amazon账户仍保留在沙盒中,请勿对生产环境中的应用程序使用您的 Amazon SNS 配置。当您处于沙箱中时,Amazon Cognito 无法向用户的电话号码发送消息。

要首次向生产环境中的用户池用户发送 SMS 文本消息,您必须完成以下任务:

1. 确认您处于 SMS 沙箱中

2. 在 Amazon SNS 中验证 Amazon Cognito 的电话号码

3. 获取发送 SMS 消息到美国电话号码的来源身份

4. 将您的账户从 Amazon SNS 沙箱中移出

5. 在 Amazon Cognito 中完成用户池的设置

步骤 1 确认您处于 SMS 沙箱中

  1. 登录到Amazon Web Services Management Console并在以下位置打开 Amazon Cognito 控制台:https://console.aws.amazon.com/cognito

  2. 创建新用户池或者编辑现有用户池

  3. 如果您的账户在 SMS 沙盒中,您将在 Amazon Cognito 中看到以下消息。

    You are currently in a Sandbox environment in Amazon SNS.

    如果您没有看到此消息,则表明某人已经执行了必要的步骤,以便首次在您的帐户中设置 SMS 消息。跳至步骤 5 在 Amazon Cognito 中完成用户池设置

  4. 选择Amazon SNS链接以在新选项卡中打开 Amazon SNS 控制台。

  5. 验证您是否在沙盒环境中。控制台消息将指示您的沙箱状态,Amazon区域。例如:

    This account is in the SMS sandbox in US East (N. Virginia).

在大多数Amazon区域,来自用户池的 SMS 消息通过同一区域的 Amazon SNS 路由。以下 Amazon Cognito 区域中的 SMS 消息将通过相应的支持 Amazon SNS 区域进行重新路由。

Amazon Cognito 地区 支持的 Amazon SNS 区域
美国东部 (俄亥俄) 美国东部 (弗吉尼亚北部)
亚太地区 (孟买) 亚太地区 (悉尼)
亚太地区 (首尔) 亚太地区 (东京)
加拿大 (中部) 美国东部 (弗吉尼亚北部)
欧洲(法兰克福) 欧洲(爱尔兰)
欧洲(伦敦) 欧洲(爱尔兰)

步骤 2 在 Amazon SNS 中验证 Amazon Cognito 的电话号码

要验证 SMS 目标电话号码以便使用您的应用程序进行测试,您必须将目标电话号码添加到 Amazon SNS,然后验证这些号码。有关详细说明,请参阅在 SMS 沙箱中添加和验证电话号码中的Amazon Simple Notification Service 开发人员指南

注意

您可以添加到沙箱的目标电话号码数量有限制。有关详细信息,请参阅。SMS 沙盒中的Amazon Simple Notification Service 开发人员指南

步骤 3 获取向美国电话号码发送 SMS 消息的发起身份

如果您计划将 SMS 短信发送到美国电话号码,则必须获取来源身份。

自 2021 年 6 月 1 日起,美国运营商要求提供发件人身份才能向美国电话号码发送消息。如果您没有源身份,则必须获得一个。要了解如何获取源身份,请参阅请求数字中的Amazon Pinpoint 用户指南

如果您在以下操作Amazon区域,您必须打开Amazon Web Services Support票证以获取起始身份。有关说明,请参阅请求对 SMS 消息收发的支持中的Amazon Simple Notification Service 开发人员指南

  • 欧洲(斯德哥尔摩)

  • 中东(巴林)

  • 欧洲(巴黎)

  • 南美洲(圣保罗)

  • 美国西部 (加利福尼亚北部)

步骤 4 将您的账户从 Amazon SNS 沙箱中移出

当您的账户位于 Amazon SNS 的 SMS 沙箱中时,Amazon Cognito 只能向已验证的电话号码发送短信,而不是向您的最终用户发送短信。

要向最终用户发送 SMS 消息,您必须将您的账户移出沙盒并进入生产环境。有关详细说明,请参阅脱离 Amazon SNS 沙盒中的Amazon Simple Notification Service 开发人员指南

步骤 5 在 Amazon Cognito 中完成用户池设置

返回到您所在的浏览器选项卡creating或者编辑您的用户池。完成过程。