【问题标题】:How to setup toll-free number in AWS SNS instead of the default?如何在 AWS SNS 中设置免费电话号码而不是默认号码?
【发布时间】:2021-05-27 18:38:36
【问题描述】:

我正在使用 AWS cognito 在我的网络应用程序上注册用户并为我的用户创建新账户。我通过 AWS SNS 发送一次性密码来授权用户的电话号码。我的 SNS 仪表板上有一条消息,内容如下:

我担心 cognito 会停止向在我的网站上注册的用户发送一次性密码,因此我可能会失去他们。到目前为止,我还没有为我的应用程序进行任何自定义设置。通过阅读社区和 aws 文档,我发现我可以改用来自 Amazon Pinpoint 的免费电话号码。它符合我的要求,但没有关于如何将这个免费电话号码插入 cognito 进程的文档。我购买了一个免费电话号码,但不明白如何使用它来发送电话验证 otp。如果有人可以帮助我,那就太好了。谢谢。

【问题讨论】:

  • 我不是 100% 相信你需要担心这个。您是仅使用 Cognito 提供的默认 MFA 来控制数字,还是您正在做一些自定义的事情,您自己发送 SNS 消息?如果您只是通过 Cognito 进行 MFA,他们拥有这些号码,AWS 应该使用有效的发起 ID 发送 SMS。
  • 我没有做任何自定义 - 只是使用默认的 cognito 功能,我无法控制他们用来发送消息的数字。我正在其他渠道和论坛上阅读,就像您提到的那样,免费电话号码将由 cognito 自动获取。然而,我担心的是因为没有 aws 文档证实这一点或相反。我在 SNS 中做的唯一手动操作是增加支出限额,因为默认值为 1 美元,并且 otps 停止出现,当我提交增加支出的请求并增加限额时恢复正常。

标签: amazon-web-services amazon-cognito amazon-sns aws-pinpoint


【解决方案1】:

查看 AWS 文档,您可以使用注册前 Lambda 触发器。注册前 Lambda 函数在 Amazon Cognito 注册新用户之前触发。它允许您在注册过程中执行自定义验证以接受或拒绝注册请求。因为您可以使用 Lambda 函数,所以您可以在 Lambda 函数中使用自定义逻辑来满足您的业务需求。这包括连接到 Pinpoint 以实现您想要做的事情。更多详情:

https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-sign-up.html

【讨论】:

  • 好的,但到目前为止,该过程在没有预注册 lambda 的情况下工作 - 我是否需要实现自定义逻辑才能使用免费电话号码而不是现在使用的默认号码?我试图找出使用免费电话号码而不是默认号码的过程是什么,感觉就像实现一个全新的 lamda 触发器来实现这一点的过度杀戮。
  • 根据文档 - 这是实现此功能的方式。
  • 我使用 amplify 库来进行用户注册和所有用户帐户活动 - 所以我遵循了这个文档 docs.amplify.aws/lib/auth/emailpassword/q/platform/js#sign-up - 来实现一个 lambda,我的整个注册逻辑需要使用繁重的应用程序代码进行更改修改。不确定这是否是正确的做法。
猜你喜欢
  • 1970-01-01
  • 2018-03-16
  • 1970-01-01
  • 2021-01-22
  • 1970-01-01
  • 2018-09-22
  • 1970-01-01
  • 1970-01-01
  • 2011-09-22
相关资源
最近更新 更多