接收错误“;用户登录别名不应为空";尝试使用AWS Cognito用户池在Android上登录用户时

接收错误“;用户登录别名不应为空";尝试使用AWS Cognito用户池在Android上登录用户时,android,amazon-web-services,amazon-cognito,Android,Amazon Web Services,Amazon Cognito,我已经为移动应用程序设置了一个用户池。注册过程按预期工作,但是,尝试登录用户会导致以下异常: 用户登录别名不应为null(服务: AmazonCongnitoIdentityProvider;状态代码:400;错误代码: InvalidParameterException;请求ID:xxx…) 此错误在登录尝试期间产生,称为via: getUser(用户名).getSessionInBackground(authenticationHandler) 要提供更完整的代码片段,当用户单击登录按钮时,

我已经为移动应用程序设置了一个用户池。注册过程按预期工作,但是,尝试登录用户会导致以下异常:

用户登录别名不应为null(服务: AmazonCongnitoIdentityProvider;状态代码:400;错误代码: InvalidParameterException;请求ID:xxx…)

此错误在登录尝试期间产生,称为via: getUser(用户名).getSessionInBackground(authenticationHandler)

要提供更完整的代码片段,当用户单击登录按钮时,将运行包含以下代码的函数:

AuthenticationHandler authenticationHandler = new AuthenticationHandler() {
        @Override
        public void onSuccess(CognitoUserSession userSession) {
            Util.showMessage(mContext, "User Successfully Signed In. Session JWT Token: " + userSession.getIdToken().getJWTToken());
            btnLogin.setProgress(100);
        }

        @Override
        public void getAuthenticationDetails(AuthenticationContinuation authenticationContinuation, String UserId) {
            AuthenticationDetails authenticationDetails = new AuthenticationDetails(UserId, edtPassword.getText().toString().trim(), null);
            authenticationContinuation.setAuthenticationDetails(authenticationDetails);
            authenticationContinuation.continueTask();
        }

        @Override
        public void getMFACode(MultiFactorAuthenticationContinuation continuation) {
            Util.showMessage(mContext, "MFA Code is Required");
            // Set Up MFA Process
        }

        @Override
        public void onFailure(Exception exception) {
            Log.d(TAG, exception.toString());
            Snackbar.make(edtUsername, exception.getMessage(), Snackbar.LENGTH_LONG).show();
            btnLogin.setProgress(-1);
            new Handler().postDelayed(new Runnable() {
                @Override
                public void run() {
                    setUpLoginClick();
                }
            }, 1000);
        }
    };

    AWS.userPool(mContext).getUser(edtUsername.getText().toString()).getSessionInBackground(authenticationHandler);
userPool(Context ctx)是我编写的一个实用函数,用于快速检索配置的userPool对象


有人能解释一下为什么会发生这种情况吗?我在任何地方都找不到有关此错误的讨论或文档。

能否提供一段登录代码?我猜你既没有提供用户名也没有提供别名,但这是基于一点。我已经修改了@JeffBailey的代码来显示登录代码。我正在验证对UserPool对象的getUser()方法调用中的用户名。