使用 aws cognito MFA

问题描述

基于 amazon-cognito-identity-js,我想在我的节点 js 中添加需要 mfa(多因素身份验证)的 Rest API 服务器用户身份验证。

现在我可以使用用户名和密码进行身份验证并返回令牌:

  this._server.post(`/v2/auth/`,SafeRouterMethodFactory.createAsync(async (request,response,next) => 
                let user = await this._cognitoIdp.authenticateCredentials(request.body.username,request.body.password);
                let token = user.tokens.idToken;
                let tokenResponse = new AutenticateApiV2(token);
                this._restServer.sendWrappedResponseV2(request,tokenResponse);

authenticateCredentials 实现:

        return new Promise(async (resolve,reject) => {

            let authenticationData = {
                Username: email,Password: password,};

            let authenticationDetails = new AuthenticationDetails(authenticationData);
            let cognitoUser: CognitoUser = this.getCognitoUser(email);
            try {
                cognitoUser.authenticateUser(authenticationDetails,{
                    onSuccess: (result) => {
                    //success code
                        resolve(user);
                    },onFailure: (err) => {
                        let responseError: ClientViewsError = new IncorrectPasswordError();
                        reject(responseError);
                    },mfarequired: (challengeName,challengeParameters) => {
                        **// what to write here and how to receive the sms code from user?**
                    }
                });
            }catch(error) {
                console.error(error);
            }
        });
    }

如何将 mfa 添加到我的休息服务器?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)