Tim V
12/10/2021, 7:52 PMFrank
Tim V
12/13/2021, 3:42 PMnew Auth(this, "auth", { cognito: { triggers: createAuthChallenge: "path/to/code.handler" } } );
Let me know if that's less than helpful.Tim V
12/13/2021, 4:37 PMconst auth = new Auth(this, "auth", {
cognito: {
userPool: {
selfSignUpEnabled: false,
signInAliases: { email: true },
customAttributes: {
PasswordUpdated: new DateTimeAttribute({ mutable: true }),
},
},
triggers: {
createAuthChallenge: "stack/cognito/testing.handler",
customMessage: "stack/cognito/testing.handler",
defineAuthChallenge: "stack/cognito/testing.handler",
postAuthentication: "stack/cognito/testing.handler",
postConfirmation: "stack/cognito/testing.handler",
preAuthentication: "stack/cognito/testing.handler",
preSignUp: "stack/cognito/testing.handler",
preTokenGeneration: "stack/cognito/testing.handler",
userMigration: "stack/cognito/testing.handler",
verifyAuthChallengeResponse: "stack/cognito/testing.handler",
},
},
});
Tim V
12/13/2021, 4:38 PMexport const handler = async (event) => {
console.log(JSON.stringify(event, null, 2));
return event;
};
Tim V
12/13/2021, 4:40 PMFrank
Frank
Tim V
12/13/2021, 7:53 PMFrank
AuthChallenge
related. Can I see how you are triggering the auth challenge?manitej
12/14/2021, 2:05 AMAuthChallenge
you need to pass in extra code.
A small example code might look like this
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);
}
Tim V
12/14/2021, 2:50 AMTim V
12/14/2021, 2:51 AMmanitej
12/14/2021, 2:52 AMmanitej
12/14/2021, 2:52 AMTim V
12/14/2021, 3:15 PMFrank
Tim V
01/03/2022, 3:14 PM