У меня возникла проблема:
MFA применяется с пулом пользователей, ниже приведен сценарий ios
1) Администратор создает пользователя в пуле пользователей с идентификатором электронной почты и временный пароль 2) Пользователя просят сменить пароль, когда он пытается войти с временным паролем 3) Пользователь может изменить пароль 4) когда он пытается войти с новым паролем, он получает токен sms mfa 5) как только он предоставляет токен, запрос api выполняется с использованием нижеуказанной формы полезной нагрузки
{
"verificationCode": <numerical sms token>,
"username": <user email id>,
"sessionToken": <session token of the request when he tried to login useing email and newly created password>
}
6) ниже приведен код, который используется для обработки указанной выше полезной нагрузки для проверки sms mfa const AWS = require ('aws -sdk ');
function verifySmsCode(req, res) {
const params = {
ChallengeName: "SMS_MFA",
ClientId: awsConfig.clientId
};
params.Session = req.swagger.params['body'].value.sessionToken;
params.ChallengeResponses = {
SMS_MFA: req.swagger.params['body'].value.verificationCode,
USERNAME: req.swagger.params['body'].value.username
}
new AWS.CognitoIdentityServiceProvider({
region: awsConfig.region
}).respondToAuthChallenge(params, function (err, data) {
let statusCode = 200;
let result = {};
if (err) {
console.log('err', err.message);
statusCode = 400;
res.statusMessage = err.message;
result = {error: err.message};
} else {
console.log('data', data);
result = data;
}
res.status(statusCode).send(result);
});
}
7) Но ответ, как показано ниже, говорит, что Пользователь не существует.
{
"error": {
"message": "User does not exist.",
"code": "UserNotFoundException",
"time": "2020-05-27T05:27:43.106Z",
"requestId": "59566101-6d92-4a56-8687-41741552e2c5",
"statusCode": 400,
"retryable": false,
"retryDelay": 85.75216336710909
}
}
Пожалуйста, сообщите, почему он выдает ошибку Пользователь не существует, хотя смс мфа и сессия действительна
Спасибо