登录时出现AWS Cognito Unknown错误

时间:2017-06-21 14:17:48

标签: android amazon-web-services

当我尝试使用Android(java)代码在AWS中登录Cognito时,我收到了一个未知错误。

 public void SignIn(String phoneNumber) {

    final ClientConfiguration clientConfiguration = new ClientConfiguration();

    // Create a CognitoUserPool object to refer to your user pool
    CognitoUserPool userPool = new CognitoUserPool(_context, poolId, _clientId,
            _clientSecret, clientConfiguration);

    CognitoUser user = userPool.getUser(phoneNumber);

    // Callback handler for the sign-in process
    AuthenticationHandler authenticationHandler = new AuthenticationHandler() {

        @Override
        public void onSuccess(CognitoUserSession cognitoUserSession) {
            // Sign-in was successful, cognitoUserSession will contain tokens for the user
            Token = cognitoUserSession.getAccessToken();

        }

        @Override
        public void getAuthenticationDetails(AuthenticationContinuation authenticationContinuation, String userId) {
            // The API needs user sign-in credentials to continue
            AuthenticationDetails authenticationDetails = new AuthenticationDetails(userId, _password, null);

            // Pass the user sign-in credentials to the continuation
            authenticationContinuation.setAuthenticationDetails(authenticationDetails);

            // Allow the sign-in to continue
            authenticationContinuation.continueTask();
        }

        @Override
        public void getMFACode(MultiFactorAuthenticationContinuation multiFactorAuthenticationContinuation) {
            // Multi-factor authentication is required; get the verification code from user
            multiFactorAuthenticationContinuation.setMfaCode("123");
            // Allow the sign-in process to continue
            multiFactorAuthenticationContinuation.continueTask();
        }

        @Override
        public void onFailure(Exception exception) {
            // Sign-in failed, check exception for the cause
            Log.d("error:", exception.getMessage());
            LoginController loginController = new LoginController(_this);
            loginController.NavigateToLogin();

        }
    };

    // Sign in the user
    user.getSessionInBackground(authenticationHandler);

}

我已接受IAM中的所有默认角色。

注册并确认电子邮件正常。这是我想在authenticationContinuation.continueTask()之后签名的时候;它显示未知错误。有任何想法吗?建议?

1 个答案:

答案 0 :(得分:0)

原来我使用了错误的poolid duh! 联合池中也有一个池ID,我使用的是代替用户池中的池