I am working through an AWS guide for Cognito.
The Lambda function calls context.done() with two parameters, null
and event
.
I am trying to understand what the null
parameter is and what context.done is doing with the event
being passed in to it.
exports.handler = (event, context) => {
if (event.request.session.length === 1 &&
event.request.session[0].challengeName === 'SRP_A') {
event.response.issueTokens = false;
event.response.failAuthentication = false;
event.response.challengeName = 'CUSTOM_CHALLENGE';
} else if (
event.request.session.length === 2 &&
event.request.session[1].challengeName === 'CUSTOM_CHALLENGE' &&
event.request.session[1].challengeResult === true
) {
event.response.issueTokens = true;
event.response.failAuthentication = false;
} else {
event.response.issueTokens = false;
event.response.failAuthentication = true;
}
context.done(null, event);
};
I have console logged the context object, but I still don't understand what it's doing.
2022-05-04T22:16:59.591Z 4c2609e6-69d7-4bd9-a25c-8527b7c6653a INFO {
callbackWaitsForEmptyEventLoop: [Getter/Setter],
succeed: [Function (anonymous)],
fail: [Function (anonymous)],
done: [Function (anonymous)],
functionVersion: '$LATEST',
functionName: 'cognito-define-auth-challenge',
memoryLimitInMB: '128',
logGroupName: '/aws/lambda/cognito-define-auth-challenge',
logStreamName: '2022/05/04/[$LATEST]280e88c6f58545f8bc6e5d177c13cc5b',
clientContext: undefined,
identity: undefined,
invokedFunctionArn: 'arn:aws:lambda:us-east-1:268280247265:function:cognito-define-auth-challenge',
awsRequestId: '4c2609e6-69d7-4bd9-a25c-8527b7c6653a',
getRemainingTimeInMillis: [Function: getRemainingTimeInMillis]
}