В моем приложении 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 в качестве источника аутентификации и предоставил идентификатор пула пользователей и клиент приложения. Я бы. Но я все еще получаю ту же ошибку.
Я что-то недопонимаю, не могли бы вы предложить какое-нибудь понимание?