Доступ к AWS AppSyn c без использования ключей API в React Native - PullRequest
0 голосов
/ 06 февраля 2020

В моем приложении React Native я использую API-ключи с AWS AppSyn c и хочу перейти на использование Cognito или IAM, но без входа пользователя.

Мое приложение React Native, которое просто AWS Appsyn c использует для чтения и записи из DyanmoDB.

Сначала я настроил приложение на использование ключей API, поскольку его было проще понять, и сейчас пытаюсь перейти на использование * 1030. * Cognito или IAM.

Для этого в моей консоли AWS я изменил «Appsyn c -> MyAppAPI-> Настройки-> Режим авторизации по умолчанию» / «Уровень API» с «Ключ API «to» AWS Identity and Access Management (IAM) ».

Затем я создал Identity Pool и разрешил« Разрешить доступ к неаутентифицированным удостоверениям ».

My aws -exports file is

// WARNING: DO NOT EDIT. This file is automatically generated by AWS Amplify. It will be overwritten.

const awsmobile =  {
    "aws_appsync_graphqlEndpoint": "https://xxxxx.appsync-api.eu-west-x.amazonaws.com/graphql",
    "aws_appsync_region": "eu-west-X",
    "aws_appsync_authenticationType": "AWS_IAM",
    "aws_appsync_apiKey": "xxx-xxxxxxxxxxxxxxxxxxxxxxxxxx",
};

export default awsmobile;

В моем файле приложения. js я попытался получить идентификатор identityPoolId для использования, и я создал это:

Amplify.configure({
    url: config.aws_appsync_graphqlEndpoint,
    region: config.aws_appsync_region,
    auth: {
      type: config.aws_appsync_authenticationType,
      apiKey: config.aws_appsync_apiKey,
      region: 'eu-west-x',
      identityPoolId: 'eu-west-x:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
    }
})

Когда я использую приложение для чтения из DynamoDB я получаю эту ошибку

[WARN] 04: 51.835 API - проверьте учетные данные по-видимому, нет Cognito Federated Identity Pool предоставлен

Затем я вернулся на страницу Cognito Manage Identity Pool и изменил свой пул удостоверений на использование Cognito в качестве источника аутентификации и предоставил идентификатор пула пользователей и клиент приложения. Я бы. Но я все еще получаю ту же ошибку.

Я что-то недопонимаю, не могли бы вы предложить какое-нибудь понимание?

...