0

We are using cognito for authentication. when a user is requesting for OTP after a long break he is receiving OTP twice after that he will receive only one OTP. When I checked lambda log it has been triggered two times

Mark B
  • 183,023
  • 24
  • 297
  • 295
Salini L
  • 829
  • 5
  • 15
  • 43

1 Answers1

0

I had a similar issue, because of the callback, the callback function was not called, that's why lambda was being triggered after timeout(lambda retry behavior) i.e. timeout default was 3 sec. and it tried for 3 times, It was fixed after evoking a callback on success as well as on error i.e.

exports.handler = async (event, context, callback) => {
//Decrypt the secret code using encryption SDK.
let plainTextCode;
try {
    console.log("processing event ====>>", event);
    if (event.request.code) {
        const { plaintext, messageHeader } = await decrypt(keyring, b64.toByteArray(event.request.code));
        plainTextCode = plaintext.toString();
    }
    const eventRequest = {
        type: event.triggerSource,
        email: event.request.userAttributes.email,
        code: plainTextCode,
        username: event.userName
    };

    let response = await axios.post(
        process.env.API_URL,
        eventRequest,
        {
            headers: {
                "x-auth": process.env.X_AUTH,
            }
        });

    console.log("Response data => ", response.data);
    callback(null, event);
    return;
} catch (error) {
    console.log("Error while calling API => ", error.message);
    callback(error, event);
}

};

More about multiple triggers of lambda in a single event: thread

mondyfy
  • 417
  • 4
  • 10