Я пытаюсь сделать работу awault android cognito только с developer authenticated identities
. Но получить ниже исключение (sdk версия 2.2.16).Android aws cognito Недопустимый токен входа. Не токман Cognito
У меня есть перекрестная проверка identityId и identityPoolId, и оба значения верны.
В loglogMap я использую ключ как «cognito-identity.amazonaws.com
» и токен как токен openId, полученный с моего конца сервера.
LoginsMap устанавливается в методе refresh и getIdentityId моего класса android AWSAbstractCognitoDeveloperIdentityProvider
.
Любой, кто сталкивается с подобной проблемой?
com.amazonaws.services.cognitoidentity.model.NotAuthorizedException: Invalid login token. Not a Cognito token. (Service: AmazonCognitoIdentity; Status Code: 400; Error Code: NotAuthorizedException; Request ID: a270a26a-18fa-11e6-add3-c1b3dbd555de)
at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:716)
at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:392)
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:199)
at com.amazonaws.services.cognitoidentity.AmazonCognitoIdentityClient.invoke(AmazonCognitoIdentityClient.java:533)
at com.amazonaws.services.cognitoidentity.AmazonCognitoIdentityClient.getCredentialsForIdentity(AmazonCognitoIdentityClient.java:468)
at com.amazonaws.auth.CognitoCredentialsProvider.populateCredentialsWithCognito(CognitoCredentialsProvider.java:627)
at com.amazonaws.auth.CognitoCredentialsProvider.startSession(CognitoCredentialsProvider.java:553)
at com.amazonaws.auth.CognitoCredentialsProvider.refresh(CognitoCredentialsProvider.java:503)
at com.amazonaws.auth.CognitoCachingCredentialsProvider.refresh(CognitoCachingCredentialsProvider.java:463)
at com.amazonaws.auth.CognitoCachingCredentialsProvider.getIdentityId(CognitoCachingCredentialsProvider.java:414)
at com.amazonaws.auth.CognitoCredentialsProvider.populateCredentialsWithCognito(CognitoCredentialsProvider.java:621)
at com.amazonaws.auth.CognitoCredentialsProvider.startSession(CognitoCredentialsProvider.java:553)
at com.amazonaws.auth.CognitoCredentialsProvider.refresh(CognitoCredentialsProvider.java:503)
at com.amazonaws.auth.CognitoCachingCredentialsProvider.refresh(CognitoCachingCredentialsProvider.java:463)
Я обновил (идентификатор, токен) в обновлении, а также метод getidentityid. Кроме того, тот же идентификатор и токен, полученные с моего сервера, если я пытаюсь использовать IOS SDK, он работает. И я использовал тот же код, что и в примере приложения. –
Но пример приложения не устанавливает «cognito-identity.amazonaws.com» на карте входа. Он добавляет имя поставщика разработчика на карту входа в [DeveloperAuthenticationTask] (https://github.com/awslabs/aws-sdk-android-samples/blob/master/CognitoSyncDemo/src/com/amazonaws/cognito/sync/demo /DeveloperAuthenticationTask.java#L54). Вы тоже это изменили? –
Да, я удалил «cognito-identity.amazonaws.com» и вместо этого использовал имя провайдера. И он работает сейчас. Спасибо за вашу помощь !! –