我想使用我所在国家/地区的本地提供商将验证码作为SMS发送给移动用户,而不使用AWS SNS。
我在CustomMessage中有一个触发器,lambda函数工作正常。但是我的问题是我无法在lambda函数中找到验证码。只能找到{####}的codeParameter。
那么我如何获取验证码以使用本地提供商发送它?
答案 0 :(得分:3)
在这种情况下,您需要实现自定义身份验证。因为Cognito不会与您分享秘密。我们已经使用Cognito自定义身份验证机制实现了自定义身份验证方案。
您可以使用DefineAuth,CreateAuth和VerifyAuth触发器进行实施。请参考以下流程。
https://aws.amazon.com/blogs/mobile/customizing-your-user-pool-authentication-flow/
答案 1 :(得分:0)
对于那些正在寻找替代解决方案的人,我建议使用 Cognito 的自定义短信发送器触发器。当您使用自定义短信触发器时,您不必实现自定义身份验证机制。
自定义短信发送器触发器将使您能够获取加密代码参数,然后您可以使用您为用户池配置的 KMS 密钥对其进行解密。
您可以遵循的步骤:
参考文献:
Terraform 目前不支持自定义短信发送者触发器。有一个 open issue 与此相关