Как настроить аутентификацию для общего доступа и доступа к системе

#aws-amplify

Вопрос:

Я унаследовал API AppSync и пытаюсь реализовать решение их проблем с проверкой подлинности способом «путь наименьшего сопротивления».

У нас есть множество @model определений, в соответствии с которыми создаются операции GraphQL CRUD.

Кроме того, у нас есть несколько пользовательских запросов, которые поддерживаются лямбда-преобразователями.

Место, куда я пытаюсь попасть:

  1. Ограничьте доступ к операциям, сгенерированным GraphQL, нашими внутренними службами. Пока они могут просто использовать его в x-api-key качестве механизма аутентификации.
  2. Включите публичное выполнение наших пользовательских запросов без необходимости предоставления x-api-key заголовка.

Именно эту вторую часть я не могу понять, как сделать. Как сделать конечную точку действительно общедоступной без необходимости предоставления ключа x-api?

Представьте себе своего рода схему…

 type Foo @aws_api_key @model {
 id: ID!
 bar: String!
}

type Query {
  fetchStuff(stuffId: ID!): String
    @function(name: "fetch-stuff")
    # This directive doesn't exist, what do I do?
    @auth_public
}