// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 // snippet-start:[cognito.javascript.lambda-trigger.define-auth-challenge] exports.handler = (event, context, callback) => { if ( event.request.session.length == 1 && event.request.session[0].challengeName == "SRP_A" ) { event.response.issueTokens = false; event.response.failAuthentication = false; event.response.challengeName = "PASSWORD_VERIFIER"; } else if ( event.request.session.length == 2 && event.request.session[1].challengeName == "PASSWORD_VERIFIER" && event.request.session[1].challengeResult == true ) { event.response.issueTokens = false; event.response.failAuthentication = false; event.response.challengeName = "CUSTOM_CHALLENGE"; } else if ( event.request.session.length == 3 && event.request.session[2].challengeName == "CUSTOM_CHALLENGE" && event.request.session[2].challengeResult == true ) { event.response.issueTokens = true; event.response.failAuthentication = false; } else { event.response.issueTokens = false; event.response.failAuthentication = true; } // Return to Amazon Cognito callback(null, event); }; // snippet-end:[cognito.javascript.lambda-trigger.define-auth-challenge]