【发布时间】:2021-08-13 06:10:09
【问题描述】:
我收到了我的业务团队的请求,他们希望在新用户注册新帐户时发送自定义短信和电子邮件验证码。我从link 关注了 Cognito Lambda 自定义 SMS 发件人触发器。 查看 lambda cloud watch log 后,我意识到我的 Cognito 用户池没有触发我的 lambda 函数。为了让您更好地帮助我调试,以下步骤是我所做的。
我创建了一个 lambda 函数并使用以下命令为其添加了权限:
aws lambda add-allow - function-name lambda_arn --statement-id "CognitoLambdaInvokeAccess" --action lambda: InvokeFunction --principal cognito-idp.amazonaws.com
接下来,我创建了一个 CMK 来解密 Amazon Cognito 生成的授权密钥。 然后我创建了层以允许我的 lambda 函数可以导入 aws_encryption_sdk、CommitmentPolicy 库。 然后我通过以下命令更新了用户池:
aws cognito-idp update-user-pool --user-pool-id my_user_poo_id --lambda-config "CustomEmailSender={LambdaVersion=V1_0, LambdaArn=arn:aws:lambda:us-west-2:myaccountnumber:function:custom_email_lambda_trigger} , KMSKeyID = arn:aws:kms:us-west-2:myaccountnumber:key/3dfd9684-26f0-4543-928d-2618b964ad2b"
最后我创建了一个新的用户帐户,看看coginito是否触发了lambda,但什么也没发生。
有人可以说明如何添加第三个 Cognito 用户池作为验证方法吗?是不是我做错了什么?
【问题讨论】:
-
有没有办法通过控制台连接用户池的 lamda 配置?请帮助
标签: amazon-web-services aws-lambda amazon-cognito