AWS SignInProviderResultAdapter.onCognitoError () может создать учетную запись, но вылетает при входе - PullRequest
0 голосов
/ 14 сентября 2018

Я очень новичок в 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", просто чтобы убедиться, что у меня есть рабочая страница создания пользователя и логина.Кажется, что существует так много возможных проблем, и новичку очень трудно прочитать эти журналы ошибок.Любая помощь будет принята с благодарностью.

...