问题描述
基于 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 (将#修改为@)