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 美元。
-
我在同一个孟买区域创建了一个具有相同配置的新 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 - 联合身份的 OAuth 登录
在预认证用户的情况下如何使用 amazon cognito 获取刷新令牌
是否可以使用 Amazon Cognito 组来设置对 AW 资源(例如 Amazon DynamoDB 和 Amazon S3)的权限?