AWS Node JS MFA Cognito

时间:2018-08-25 10:30:25

标签: aws-sdk aws-cognito aws-sdk-nodejs

我正在为节点js开发aws sdk,并尝试对特定用户池中的用户进行身份验证。 注意::我的用户池已启用多因素身份验证,并通过SMS接收了OTP。

这是我的代码:`var userData = {                 用户名:“用户名”,                 池:userPool             };

<div class="intro page slide" id="sec5" style="background-color: antiquewhite">

但是:问题是:它给出了错误:

  

Error => {“ code”:“ UnknownError”,               “ message”:“未知错误,来自提取的响应主体未定义”}

**在堆栈跟踪中,我得到了:** 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); } });`

**再次再次:::: ** OTP进入了我的手机...

请问有人可以帮助我吗????

先感谢

2 个答案:

答案 0 :(得分:1)

添加错过的回调函数,以便您可以正确处理状态:

   private fun getPermission(): Boolean {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        if( (checkSelfPermission(android.Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED )&&
            checkSelfPermission(android.Manifest.permission.WRITE_EXTERNAL_STORAGE) ==PackageManager.PERMISSION_GRANTED) {
            return true
        } else {
            requestPermissions(listOf(CAMERA, WRITE_EXTERNAL_STORAGE).toTypedArray(), 1)

        }
    }
return false

}

答案 1 :(得分:0)

global['fetch'] = require('node-fetch');

在文件顶部使用上述代码。