AWS Cognito - пользовательский вызов не вызван - PullRequest
0 голосов
/ 05 марта 2020

Я определяю пользовательский вызов для аутентификации пользователя. Я создал несколько лямбд:

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;
};

и настроил их как триггеры в пулы пользователей enter image description here

Проблема в том, что эти лямбды не запускаются. Я добавил ошибки в каждую из них (см. Закомментированный код), но я смог без проблем зарегистрироваться и войти в систему.

Я хочу добавить новую задачу с проверкой пользовательского токена JWT (вместо этого). кода подтверждения, отправленного по электронной почте).

Что еще мне нужно сделать, чтобы это работало? Я проверил cloudwatch и смог найти только логи из ручной казни лямбды.

...