Я определяю пользовательский вызов для аутентификации пользователя. Я создал несколько лямбд:
tutoring-define-auth-challenge
"use strict";
exports.handler = (event, context, callback) => {
// throw new Error("tutoring-define-auth-challenge");
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);
}
tutoring-create-auth-challenge
"use strict";
const publicKey = require('./public');
exports.handler = async (event) => {
//throw new Error("tutoring-create-auth-challenge");
event.response.privateChallengeParameters = { key: publicKey.key };
return event;
};
и настроил их как триггеры в пулы пользователей
Проблема в том, что эти лямбды не запускаются. Я добавил ошибки в каждую из них (см. Закомментированный код), но я смог без проблем зарегистрироваться и войти в систему.
Я хочу добавить новую задачу с проверкой пользовательского токена JWT (вместо этого). кода подтверждения, отправленного по электронной почте).
Что еще мне нужно сделать, чтобы это работало? Я проверил cloudwatch и смог найти только логи из ручной казни лямбды.