6

我正在开发一个使用 AWS Cognito 进行用户身份验证的 Xamarin 应用程序。我正在尝试实现忘记密码,并且 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 管理员中的某个设置?

4

0 回答 0