Я работаю над приложением Xamarin, которое использует AWS Cognito для аутентификации пользователей. Я пытаюсь реализовать забытый пароль, и MFA настроен на использование кода подтверждения по электронной почте.
Однако, когда я пытаюсь ввести и использовать код подтверждения с новым паролем, я всегда получаю
Invalid code provided, please request a code again.
ExpiredCodeException
Что я обнаружил в ходе тестирования, так это то, что ничего, что я отправляю или отправляю, меняет сообщение об ошибке. Если я отправляю 1-символьную строку (что явно неверно) или фактический код подтверждения, я получаю ту же ошибку. Если я попытаюсь использовать код подтверждения сразу после получения электронного письма или подожду несколько минут, я получу ту же ошибку.
Код довольно прост ..
public async Task<bool> ConfirmResetPasswordCodeAsync(string username, string code, string password, BasePageModel pageModel)
{
try {
await client.ConfirmForgotPasswordAsync(new ConfirmForgotPasswordRequest { Username = username, ConfirmationCode = code, ClientId = ClientId, Password = password });
return true;
} catch(Exception ex) {
// handle the exception
}
return false;
}
Так что я не уверен, что я делаю неправильно. Я что-то пропустил в настройках администратора AWS?