У меня проблемы с интеграцией Cognito с ApiGateway. Сначала я SignIn с Cognito, там нет проблем, я получаю все токены. Затем я должен сделать вызов API Gateway. Я использую автоматически созданный SDK для Android. Я следую примеру здесь: http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-generate-sdk-android.html, но я всегда получаю одну и ту же ошибку.
CognitoCachingCredentialsProvider credentialsProvider = new CognitoCachingCredentialsProvider(
context,
CognitoConstants.IDENTITY_POOL_ID,
CognitoConstants.REGION);
String token = cognitoUserSession.getIdToken().getJWTToken();
Map<String, String> logins = new HashMap<>();
logins.put(CognitoConstants.LOGIN_MAP_KEY, token);
credentialsProvider.setLogins(logins);
ApiClientFactory factory = new ApiClientFactory()
.credentialsProvider(credentialsProvider);
client = factory.build(ExampleAPIClient.class);
client.exampleApi1AccountsGet();
Результат:
ApiClientException com.amazonaws.mobileconnectors.apigateway.ApiClientException: {"message":"Unauthorized"}
(Service: BancarAPIClient; Status Code: 401; Error Code: null; Request ID: 3679cd4b-eefc-11e6-9d00-f99040a8ed67)