【问题标题】:Cognito does not call Lambda function in CustomSMSSenderCognito 不会在 CustomSMSSender 中调用 Lambda 函数
【发布时间】: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


【解决方案1】:

CustomEmailSender 遇到了同样的问题。我的解决方案是确保将电子邮件设置为需要验证的属性。

  1. 在 AWS 控制台中打开用户池
  2. 转到 MFA 和验证
  3. 在“您要验证哪些属性?”选择要验证的属性。不应是“无验证”。

如果这没有帮助,请检查您是否已将触发器正确添加到用户池。 aws cognito-idp describe-user-pool --user-pool-id [user_pool_id]

【讨论】:

  • 有没有办法通过控制台连接用户池的 lamda 配置?请帮助
  • 用于新设计控制台 1. 注册体验 2. 属性验证和用户帐户确认 3. 允许 Cognito 自动发送消息进行验证和确认 - 推荐
猜你喜欢
  • 2021-12-07
  • 2021-05-05
  • 2018-11-11
  • 2018-07-17
  • 2019-03-09
  • 1970-01-01
  • 1970-01-01
  • 2021-05-06
  • 2021-06-17
相关资源
最近更新 更多