Amazon Cognito 未向我的应用程序用户发送 SMS 文本消息

Posted

技术标签:

【中文标题】Amazon Cognito 未向我的应用程序用户发送 SMS 文本消息【英文标题】:Amazon Cognito isn't delivering SMS text messages to my app's users 【发布时间】:2021-01-04 23:39:23 【问题描述】:

我创建了一个 AWS Cognito 用户池,用户可以使用该池登录

电子邮件 手机号码

我只验证属性中的“电话号码”,因此所有验证和忘记消息都通过移动短信发送,并且它工作了几天,突然停止发送消息。

注意:

https://aws.amazon.com/premiumsupport/knowledge-center/cognito-troubleshoot-mfa-sms-delivery/ 我的 Amazon SNS 限制是 100 美元,只使用了 2 美元。 图表显示仅使用了 2$ 我可以使用 SNS 控制台发送短信 在 cognoto 和 SNS 中的云手表矩阵中未发现问题 https://github.com/aws-amplify/amplify-js/issues/6344

更新:我在孟买地区创建了新区域,但没有发送短信,但是当我在 N Verginia 中创建了由池发送的短信时。

非常感谢任何信息或建议

【问题讨论】:

【参考方案1】:

您的 Cognito 验证短信来自与您的基础设施区域不同的区域。这是解决问题的关键。 例如: 我的法兰克福 Cognito 服务从爱尔兰地区发送验证短信。 您可以通过简单通知服务(移动短信 - 成功/失败率)进行检查。 这就是 AWS 和 Cognito 背后的魔力。

【讨论】:

【参考方案2】:

所以在花了很多小时之后。调试在 AWS Cognito 中发现的主要“BUG”问题让我一步一步解释

    我在孟买地区亚太地区(孟买)创建了一个 AWS Cognito 池 ap-south-1 使用 SNS 短信发送 OTP 消息。

    要求孟买地区 SNS 将限额提高到 100 美元

这几天一切正常,突然所有 SMS 短信都停止了。

调试步骤:

    使用以下链接,在 100 美元的限制中没有发现问题,仅使用了 2 美元。
https://aws.amazon.com/premiumsupport/knowledge-center/cognito-troubleshoot-mfa-sms-delivery/
    我在同一个孟买区域创建了一个具有相同配置的新 Cognito 池,并尝试发送消息没有 AWS Cognito 池发送的消息。

3) 我在不同的 N Verginia 区域中创建了一个具有相同配置的新 Cognito 池,并尝试发送消息,消息发送没有问题。

    我用过孟买地区SNS,没发现消息有问题。

那么问题出在哪里?

错误:  

https://github.com/aws-amplify/amplify-js/issues/6344

在我的情况下,AWS Cognito 在内部使用新加坡区域来发送 SMS 文本消息,我的限制是 1 美元,因为我使用的是孟买区域 Cognito 应该使用孟买区域而不是新加坡区域。

很遗憾,没有公开文档可供用户了解哪个区域与他们选择的区域最近。在发送 SMS 文本消息时。在针对所有亚太地区提出请求后问题得到解决。

https://forums.aws.amazon.com/message.jspa?messageID=957242#957242

由于 Doc 中没有任何解释应该由 AWS 记录。

【讨论】:

以上是关于Amazon Cognito 未向我的应用程序用户发送 SMS 文本消息的主要内容,如果未能解决你的问题,请参考以下文章

使用 Amazon Cognito 进行简单的用户注册

Amazon Cognito - 联合身份的 OAuth 登录

在预认证用户的情况下如何使用 amazon cognito 获取刷新令牌

是否可以使用 Amazon Cognito 组来设置对 AW 资源(例如 Amazon DynamoDB 和 Amazon S3)的权限?

推荐邀请使用Amazon Cognito

Amazon Cognito:验证用户后,是不是必须提示他们登录?