AWS SignInProviderResultAdapter.onCognitoError()可以创建帐户,但登录时崩溃

时间:2018-09-14 17:44:04

标签: java android amazon-web-services android-studio aws-cognito

我对AWS非常陌生。我终于得到它的工作。我用它作为我的主要代码:

package elthran.testingaws;

import android.app.Activity;
import android.os.Bundle;

import com.amazonaws.auth.CognitoCachingCredentialsProvider;
import com.amazonaws.mobile.auth.ui.SignInUI;
import com.amazonaws.mobile.client.AWSMobileClient;
import com.amazonaws.mobile.client.AWSStartupHandler;
import com.amazonaws.mobile.client.AWSStartupResult;
import com.amazonaws.regions.Regions;

public class AuthenticatorActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_authenticator);

        // Add a call to initialize AWSMobileClient
        AWSMobileClient.getInstance().initialize(this, new AWSStartupHandler() {
            @Override
            public void onComplete(AWSStartupResult awsStartupResult) {
                SignInUI signin = (SignInUI) AWSMobileClient.getInstance().getClient(
                        AuthenticatorActivity.this,
                        SignInUI.class);
                signin.login(
                        AuthenticatorActivity.this,
                        MainActivity.class).execute();
            }
        }).execute();
    }

}

它打开了一个基本的登录窗口,让我创建一个帐户。它已在AWS联合身份中注册。然后,我尝试使用新帐户登录到该应用程序,但不断出现此错误。谁能帮忙解释原因?

D/AWSRefreshingCognitoIdentityProvider: Storing the Refresh token in the loginsMap.
D/CognitoCachingCredentialsProvider: Identity id is changed
                                     Saving identity id to SharedPreferences
                                     Clearing credentials from SharedPreferences
D/AWSRefreshingCognitoIdentityProvider: Storing the Refresh token in the loginsMap.
D/IdentityManager: SignInProviderResultAdapter.onCognitoError()
                   com.amazonaws.services.cognitoidentity.model.InvalidIdentityPoolConfigurationException: Invalid identity pool configuration. Check assigned IAM roles for this pool. (Service: AmazonCognitoIdentity; Status Code: 400; Error Code: InvalidIdentityPoolConfigurationException; Request ID: 4d08f70c-b844-11e8-84be-85774fe09fa3)
                       at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:730)
                       at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:405)
                       at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:212)
                       at com.amazonaws.services.cognitoidentity.AmazonCognitoIdentityClient.invoke(AmazonCognitoIdentityClient.java:566)
                       at com.amazonaws.services.cognitoidentity.AmazonCognitoIdentityClient.getCredentialsForIdentity(AmazonCognitoIdentityClient.java:389)
                       at com.amazonaws.auth.CognitoCredentialsProvider.populateCredentialsWithCognito(CognitoCredentialsProvider.java:782)
                       at com.amazonaws.auth.CognitoCredentialsProvider.startSession(CognitoCredentialsProvider.java:694)
                       at com.amazonaws.auth.CognitoCredentialsProvider.refresh(CognitoCredentialsProvider.java:631)
                       at com.amazonaws.auth.CognitoCachingCredentialsProvider.refresh(CognitoCachingCredentialsProvider.java:514)
                       at com.amazonaws.auth.CognitoCachingCredentialsProvider.getIdentityId(CognitoCachingCredentialsProvider.java:457)
                       at com.amazonaws.auth.CognitoCredentialsProvider.populateCredentialsWithCognito(CognitoCredentialsProvider.java:776)
                       at com.amazonaws.auth.CognitoCredentialsProvider.startSession(CognitoCredentialsProvider.java:694)
                       at com.amazonaws.auth.CognitoCredentialsProvider.refresh(CognitoCredentialsProvider.java:631)
                       at com.amazonaws.auth.CognitoCachingCredentialsProvider.refresh(CognitoCachingCredentialsProvider.java:514)
                       at com.amazonaws.mobile.auth.core.IdentityManager.refreshCredentialWithLogins(IdentityManager.java:523)
                       at com.amazonaws.mobile.auth.core.IdentityManager.access$800(IdentityManager.java:77)
                       at com.amazonaws.mobile.auth.core.IdentityManager$3.run(IdentityManager.java:563)
                       at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:458)
                       at java.util.concurrent.FutureTask.run(FutureTask.java:266)
                       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
                       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
                       at java.lang.Thread.run(Thread.java:764)
                   Signing out...
D/CognitoCachingCredentialsProvider: Clearing credentials from SharedPreferences
E/SignInActivity: Sign-in with Amazon Cognito Your User Pools caused an error.
                  com.amazonaws.mobile.auth.core.signin.CognitoAuthException: com.amazonaws.services.cognitoidentity.model.InvalidIdentityPoolConfigurationException: Invalid identity pool configuration. Check assigned IAM roles for this pool. (Service: AmazonCognitoIdentity; Status Code: 400; Error Code: InvalidIdentityPoolConfigurationException; Request ID: 4d08f70c-b844-11e8-84be-85774fe09fa3)
                      at com.amazonaws.mobile.auth.core.IdentityManager$SignInProviderResultAdapter.onCognitoError(IdentityManager.java:426)
                      at com.amazonaws.mobile.auth.core.IdentityManager$SignInProviderResultAdapter.access$1000(IdentityManager.java:400)
                      at com.amazonaws.mobile.auth.core.IdentityManager$3.run(IdentityManager.java:565)
                      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:458)
                      at java.util.concurrent.FutureTask.run(FutureTask.java:266)
                      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
                      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
                      at java.lang.Thread.run(Thread.java:764)
                   Caused by: com.amazonaws.services.cognitoidentity.model.InvalidIdentityPoolConfigurationException: Invalid identity pool configuration. Check assigned IAM roles for this pool. (Service: AmazonCognitoIdentity; Status Code: 400; Error Code: InvalidIdentityPoolConfigurationException; Request ID: 4d08f70c-b844-11e8-84be-85774fe09fa3)
                      at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:730)
                      at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:405)
                      at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:212)
                      at com.amazonaws.services.cognitoidentity.AmazonCognitoIdentityClient.invoke(AmazonCognitoIdentityClient.java:566)
                      at com.amazonaws.services.cognitoidentity.AmazonCognitoIdentityClient.getCredentialsForIdentity(AmazonCognitoIdentityClient.java:389)
                      at com.amazonaws.auth.CognitoCredentialsProvider.populateCredentialsWithCognito(CognitoCredentialsProvider.java:782)
                      at com.amazonaws.auth.CognitoCredentialsProvider.startSession(CognitoCredentialsProvider.java:694)
                      at com.amazonaws.auth.CognitoCredentialsProvider.refresh(CognitoCredentialsProvider.java:631)
                      at com.amazonaws.auth.CognitoCachingCredentialsProvider.refresh(CognitoCachingCredentialsProvider.java:514)
                      at com.amazonaws.auth.CognitoCachingCredentialsProvider.getIdentityId(CognitoCachingCredentialsProvider.java:457)
                      at com.amazonaws.auth.CognitoCredentialsProvider.populateCredentialsWithCognito(CognitoCredentialsProvider.java:776)
                      at com.amazonaws.auth.CognitoCredentialsProvider.startSession(CognitoCredentialsProvider.java:694)
                      at com.amazonaws.auth.CognitoCredentialsProvider.refresh(CognitoCredentialsProvider.java:631)
                      at com.amazonaws.auth.CognitoCachingCredentialsProvider.refresh(CognitoCachingCredentialsProvider.java:514)
                      at com.amazonaws.mobile.auth.core.IdentityManager.refreshCredentialWithLogins(IdentityManager.java:523)
                      at com.amazonaws.mobile.auth.core.IdentityManager.access$800(IdentityManager.java:77)
                      at com.amazonaws.mobile.auth.core.IdentityManager$3.run(IdentityManager.java:563)
                      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:458) 
                      at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
                      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
                      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
                      at java.lang.Thread.run(Thread.java:764) 
D/CognitoCachingCredentialsProvider: Identity id is changed
                                     Saving identity id to SharedPreferences
                                     Clearing credentials from SharedPreferences
E/DefaultSignInResultHandler: Sign-in with Amazon Cognito Your User Pools failed.
                              com.amazonaws.services.cognitoidentity.model.InvalidIdentityPoolConfigurationException: Invalid identity pool configuration. Check assigned IAM roles for this pool. (Service: AmazonCognitoIdentity; Status Code: 400; Error Code: InvalidIdentityPoolConfigurationException; Request ID: 4d08f70c-b844-11e8-84be-85774fe09fa3)
                              com.amazonaws.mobile.auth.core.signin.CognitoAuthException: com.amazonaws.services.cognitoidentity.model.InvalidIdentityPoolConfigurationException: Invalid identity pool configuration. Check assigned IAM roles for this pool. (Service: AmazonCognitoIdentity; Status Code: 400; Error Code: InvalidIdentityPoolConfigurationException; Request ID: 4d08f70c-b844-11e8-84be-85774fe09fa3)
                                  at com.amazonaws.mobile.auth.core.IdentityManager$SignInProviderResultAdapter.onCognitoError(IdentityManager.java:426)
                                  at com.amazonaws.mobile.auth.core.IdentityManager$SignInProviderResultAdapter.access$1000(IdentityManager.java:400)
                                  at com.amazonaws.mobile.auth.core.IdentityManager$3.run(IdentityManager.java:565)
                                  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:458)
                                  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
                                  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
                                  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
                                  at java.lang.Thread.run(Thread.java:764)
                               Caused by: com.amazonaws.services.cognitoidentity.model.InvalidIdentityPoolConfigurationException: Invalid identity pool configuration. Check assigned IAM roles for this pool. (Service: AmazonCognitoIdentity; Status Code: 400; Error Code: InvalidIdentityPoolConfigurationException; Request ID: 4d08f70c-b844-11e8-84be-85774fe09fa3)
                                  at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:730)
                                  at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:405)
                                  at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:212)
                                  at com.amazonaws.services.cognitoidentity.AmazonCognitoIdentityClient.invoke(AmazonCognitoIdentityClient.java:566)
                                  at com.amazonaws.services.cognitoidentity.AmazonCognitoIdentityClient.getCredentialsForIdentity(AmazonCognitoIdentityClient.java:389)
                                  at com.amazonaws.auth.CognitoCredentialsProvider.populateCredentialsWithCognito(CognitoCredentialsProvider.java:782)
                                  at com.amazonaws.auth.CognitoCredentialsProvider.startSession(CognitoCredentialsProvider.java:694)
                                  at com.amazonaws.auth.CognitoCredentialsProvider.refresh(CognitoCredentialsProvider.java:631)
                                  at com.amazonaws.auth.CognitoCachingCredentialsProvider.refresh(CognitoCachingCredentialsProvider.java:514)
                                  at com.amazonaws.auth.CognitoCachingCredentialsProvider.getIdentityId(CognitoCachingCredentialsProvider.java:457)
                                  at com.amazonaws.auth.CognitoCredentialsProvider.populateCredentialsWithCognito(CognitoCredentialsProvider.java:776)
                                  at com.amazonaws.auth.CognitoCredentialsProvider.startSession(CognitoCredentialsProvider.java:694)
                                  at com.amazonaws.auth.CognitoCredentialsProvider.refresh(CognitoCredentialsProvider.java:631)
                                  at com.amazonaws.auth.CognitoCachingCredentialsProvider.refresh(CognitoCachingCredentialsProvider.java:514)
                                  at com.amazonaws.mobile.auth.core.IdentityManager.refreshCredentialWithLogins(IdentityManager.java:523)
                                  at com.amazonaws.mobile.auth.core.IdentityManager.access$800(IdentityManager.java:77)
                                  at com.amazonaws.mobile.auth.core.IdentityManager$3.run(IdentityManager.java:563)
                                  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:458) 
                                  at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
                                  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
                                  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
                                  at java.lang.Thread.run(Thread.java:764) 

除了麻烦我什么都没有。我希望登录重定向到我的MainActivity,这是一个简单的“ hello world”文本页面,只是为了确保我有一个正常的创建用户和登录页面。似乎有很多可能的问题,对于初学者来说,阅读这些错误日志非常困难。任何帮助将不胜感激。

0 个答案:

没有答案