AWS Node JS MFA Cognito - PullRequest
       11

AWS Node JS MFA Cognito

0 голосов
/ 25 августа 2018

Я работал над aws sdk для узла js и пытался аутентифицировать пользователя из определенного пула пользователей. ПРИМЕЧАНИЕ: В моем пуле пользователей включена многофакторная аутентификация, и он получает OTP через SMS.

Это мой кусок кода: `var userData = { Имя пользователя: «имя пользователя», Бассейн: userPool };

        cognitoUser = new AmazonCognitoIdentity.CognitoUser(userData);

        var authenticationData = {
            Username : 'username',
            Password : 'password',
        };

        var authenticationDetails = new AmazonCognitoIdentity.AuthenticationDetails(authenticationData);

        cognitoUser.authenticateUser(authenticationDetails, {
            onSuccess: function (result) {
                console.log('authentication successful!')
            },

            onFailure: function(err) {
                alert(err);
            },

            mfaRequired: function(codeDeliveryDetails) {
                var verificationCode = prompt('Please input verification code' ,'');
                cognitoUser.sendMFACode(verificationCode, this);
            }

        });` 

НО: Проблема в том, что выдает ошибку:

Error => {"code": "UnknownError", "message": "Неизвестная ошибка, тело ответа от fetch не определено"}

** И на трассе стека я получил: ** Stack Trace : Error at Object.onFailure (E:\Karma\node_aws\medium_try\index.js:78:79) at E:\Karma\node_aws\medium_try\node_modules\amazon-cognito-identity-js\lib\CognitoUser.js:376:31 at E:\Karma\node_aws\medium_try\node_modules\amazon-cognito-identity-js\lib\CognitoUser.js:361:22 at E:\Karma\node_aws\medium_try\node_modules\amazon-cognito-identity-js\lib\Client.js:114:14 at <anonymous> at process._tickDomainCallback (internal/process/next_tick.js:228:7)

** НО СНОВА :::: ** OTP приходит на мой мобильный ...

Пожалуйста, кто-нибудь может мне помочь ????

Спасибо заранее

1 Ответ

0 голосов
/ 26 декабря 2018

Добавьте функции пропущенных обратных вызовов, чтобы вы могли правильно обрабатывать состояние:

export interface IAuthenticationCallback {
    onSuccess: (session: CognitoUserSession, userConfirmationNecessary?: boolean) => void,
    onFailure: (err: any) => void,
    newPasswordRequired?: (userAttributes: any, requiredAttributes: any) => void,
    mfaRequired?: (challengeName: any, challengeParameters: any) => void,
    totpRequired?: (challengeName: any, challengeParameters: any) => void,
    customChallenge?: (challengeParameters: any) => void,
    mfaSetup?: (challengeName: any, challengeParameters: any) => void,
    selectMFAType?: (challengeName: any, challengeParameters: any) => void
}
...