У меня есть приложение в React, которое использует AWS Amplify 'API и Auth. Я настроил API_KEY и AMAZON_COGNITO_USER_POOLS
для доступа к API. Например, у меня есть схема graphql:
type Course @model @auth(rules: [
# Defaults to use the "owner" field.
{allow: owner, ownerField: "author", provider: userPools, operations:
[read, create, update, delete]},
# Admin users can access any operation.
{ allow: groups, groups: ["Admin"] },
# Next allow public access with an API Key
{allow: public, provider: apiKey, operations: [read]}
]){
id: ID!
title: String!
content: String!
author: String
}
Я отправил свои изменения (amplify push
), но я получил Not Authorized to access createCourse on type Course
с пользователем, который успешно вошел в систему через AWS Cognito, когда я попробуйте создать курс:
API.graphql({
query: createCourse,
variables: {input: {...course}},
authMode: 'AMAZON_COGNITO_USER_POOLS'
})
Дополнительная информация: Я использую федеративный вход (Google). На сайт заходит пользователь, он авторизуется через гугл. Токен доступа доступен через: Auth.currentSession()).getIdToken().getJwtToken()
, но я не делаю, если мне нужно что-то делать с этим токеном или он автоматически используется в вызове API Graphql.