如何在后期确认Lambda触发器中检测密码更改?

时间:2019-11-22 22:37:05

标签: amazon-web-services aws-lambda amazon-cognito

当用户注册向数据库输入条目时,我正在触发Lambda。确认后Lambda触发器可以正常触发,这没有问题。现在,在实施密码更改表单后,我看到了触发了相同的Lambda。

事实上,AWS声明应该-它是“ Post Confirmation”,因此,当用户确认重新键入电子邮件的电子邮件发送代码时,它将触发。我很好。

如何在Lambda中识别触发触发器的原因是什么?我只想更改密码就不想进行相同的数据库调用。

(我检查了传入的请求-那里的问题没有什么用)

1 个答案:

答案 0 :(得分:1)

要区分 PostConfirmation 上的来源,必须在事件对象中使用"triggerSource": "string"属性。

后确认的触发源可以是PostConfirmation_ConfirmForgotPasswordPostConfirmation_ConfirmSignUp

事件对象的格式为:

{
    "version": "string",
    "triggerSource": "string",
    "region": AWSRegion,
    "userPoolId": "string",
    "userName": "string",
    "callerContext": 
        {
            "awsSdkVersion": "string",
            "clientId": "string"
        },
    "request":
        {
            "userAttributes": {
                "string": "string",
                ....
            }
        },
    "response": {}
}

参考:https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html#cognito-user-identity-pools-working-with-aws-lambda-trigger-sources