我正在使用AWS Amplify框架与Cognito用户池进行交互。我可以使用AWSMobileClient类成功认证用户。但是,每次用户登录时,都会将SMS MFA发送到他们的手机。但是,我无法确定如何通过AWSMobileClient验证发送到用户电话的MFA代码以及他们在对话框中输入的内容。如果我查看以下内容:https://aws-amplify.github.io/docs/android/authentication,它具有MFA身份验证之外的所有功能。如果我查看登录代码部分:
AWSMobileClient.getInstance().signIn(username, password, null, new Callback<SignInResult>() {
@Override
public void onResult(final SignInResult signInResult) {
runOnUiThread(new Runnable() {
@Override
public void run() {
Log.d(TAG, "Sign-in callback state: " + signInResult.getSignInState());
switch (signInResult.getSignInState()) {
case DONE:
makeToast("Sign-in done.");
break;
case SMS_MFA:
makeToast("Please confirm sign-in with SMS.");
break;
case NEW_PASSWORD_REQUIRED:
makeToast("Please confirm sign-in with new password.");
break;
default:
makeToast("Unsupported sign-in confirmation: " + signInResult.getSignInState());
break;
}
}
});
}
@Override
public void onError(Exception e) {
Log.e(TAG, "Sign-in error", e);
}
});
更具体地说,在案例SMS_MFA 中,该示例指出请确认使用SMS进行登录,但是我找不到实际执行此操作的机制。 AWSMobileClient内是否没有设施来确认用户输入的给定MFA代码的有效性?