Почему я не могу получить манифест для операций из белого списка, используя apollo graphql? - PullRequest
0 голосов
/ 21 апреля 2020

Моя цель - составить белый список запросов с использованием плагина Apollo GraphQL, описанного здесь:

https://www.apollographql.com/docs/graph-manager/operation-registry/

Следуя шагам, которые я успешно продвинул, используя свой сервис:

npx apollo service:push               \
--key <mykey>      \
--endpoint http://localhost:4000

✔ Загрузка проекта Apollo ✔ Загрузка службы в Apollo Graph Manager

No change in schema from previous version

╔════════╤════════════════════════════╤═════════╗
║ id     │ graph                      │ tag     ║
╟────────┼────────────────────────────┼─────────╢
║ 7c2508 │name-graphql-server-dev │ current ║

Я проверил на менеджере apollo, что он действительно зарегистрирован.

Тогда я пу sh служба использует следующую команду, описанную в руководстве:

npx apollo client:push \
--key <mykey> \
--clientName sam-name-whitelist-test \
--includes="/Users/sam.mahagna/client_code_react/ou-react-clients/name-shared/gql-tags/authentication.ts"

   Warning: apollo update available from 2.25.0 to 2.27.0.
  ✔ Loading Apollo Project
  ✔ Extracted 6 operations from client, sam-name-whitelist-test
  ✔ Checked operations against name-graphql-server-dev@current
  ✔ Successfully pushed 5 operations to the operation registry
╔════════╤═══════════════════════╗
║ Status │ Operation Name        ║
╟────────┼───────────────────────╢
║ ADDED  │ login                 ║
╟────────┼───────────────────────╢
║ ADDED  │ logout                ║
╟────────┼───────────────────────╢
║ ADDED  │ signup                ║
╟────────┼───────────────────────╢
║ ADDED  │ GetFederatedLoginInfo ║
╟────────┼───────────────────────╢
║ ADDED  │ FederartedLogin       ║

Поэтому я ожидаю, что смогу использовать вновь созданный манифест. Но когда я добавляю плагин в конфигурацию своего сервера следующим образом:

const server = new ApolloServer({
  typeDefs,
  resolvers,
  introspection: true,
  context(req, res) {
    return {
      req,
      BASE_URL,
      API_BASE_URL,
      auth_header: authFromRequest(req),
      cors: false
    }
  },
  engine: {
    apiKey: APOLLO_ENGINE_KEY
  },
  plugins: [
    require('apollo-server-plugin-operation-registry')({
      forbidUnregisteredOperations: false,
      debug: false,
      dryRun: false
    })
  ],
  subscriptions: false
})

Мой сервер отвечает следующей ошибкой, утверждая, что я не могу получить манифест:

Я выделил важные биты ниже.

$ nodemon --exe c ts-node src / index.ts [nodemon] 1.17.1 [nodemon], чтобы перезапустить в любое время, введите rs [nodemon] наблюдения : . [nodemon] запуск ts-node src/index.ts [DEBUG] Вторник, 21 апреля 2020 11:43:15 GMT-0700 (Pacifi c Daylight Time) apollo-server: apollo-server-plugin-operation- registry [DRYRUN] Журнал регистрации операций включен, поскольку options.dryRun имеет значение true. Сервер работает ⚡ на локальном хосте: 4000 [DEBUG] Вторник, 21 апреля 2020 11:43:15 GMT-0700 (Pacifi c Daylight Time) apollo-server: apollo-server-plugin-operation-registry Инициализация плагина реестра операций. [DEBUG] Вт 21 апр. 2020 11:43:15 GMT-0700 (Pacifi c Daylight Time) apollo-server: apollo-server-plugin-operation-registry Операционный реестр настроен для 'name-graphql-server'. Хэш схемы: 7c2508ecc9d0f48c0736419ebff11c31f2b825c267a48e8ac1f02547c4d7dfd727c88324c5f901e511b263ca53a592510953d2b1b22305841ae60c65ba9b4c3. [DEBUG] Вт 21 апреля 2020 11:43:15 GMT-0700 (Pacifi c Daylight Time) apollo-server: apollo-server-plugin-operation-registry Агент инициализации реестра операций ... [DEBUG] Вторник 21 апреля 2020 11:43:15 GMT-0700 (Pacifi c Daylight Time) apollo-server: apollo-server-plugin-operation-registry Агент запуска операции запуска ... [DEBUG] Вторник, 21 апреля 2020 11:43:15 GMT- 0700 (Pacifi c Daylight Time) apollo-server: apollo-server-plugin-operation-registry Проверка хранилищаSecret [ОТМЕТКА] Вторник, 21 апреля 2020 11:43:15 GMT-0700 (Pacific Daylight Time) apollo-server: apollo -server-plugin-operation-registry Проверка изменений манифеста в https://storage.googleapis.com/engine-op-manifest-storage-prod/name-graphql-server/e2af5061-2122-4b33-9f20-27c38ff6b89d/current/manifest.v2.json [WARN] Вт 21 апреля 2020 11:43:15 GMT-0700 (Pacifi c Дневное время) apollo- сервер: apollo-server-plugin-operation-registry Не найдено манифеста для тега "current" в https://storage.googleapis.com/engine-op-manifest-storage-prod/name-graphql-server/e2af5061-2122-4b33-9f20-27c38ff6b89d/current/manifest.v2.json. Убедитесь, что схема этого сервера опубликована с помощью «apollo service: pu sh» и что операции зарегистрированы с «apollo client: pu sh». [DEBUG] Вт 21 апреля 2020 11:43:15 GMT-0700 (Pacific Daylight Time) apollo-server: apollo-server-plugin-operation-registry Извлечение устаревшего манифеста. [DEBUG] Вт 21 апр. 2020 11:43:15 GMT-0700 (Pacifi c Daylight Time) apollo-server: apollo-server-plugin-operation-registry Проверка изменений манифеста в https://storage.googleapis.com/engine-op-manifest-storage-prod/6bc2e72b26baa08de1404814a50cf9fedbc0195754be9a1283bbaf7ccf9b19350c02449de9a80288bb509261fc211e3eb7e8b98074814230dc1890681221598e/7c2508ecc9d0f48c0736419ebff11c31f2b825c267a48e8ac1f02547c4d7dfd727c88324c5f901e511b263ca53a592510953d2b1b22305841ae60c65ba9b4c3b.v2.json Не удалось получить манифест операции. Повторные попытки будут продолжаться, но запросы будут запрещены, пока не будет получен манифест. Невозможно получить манифест операции для 7c2508ecc9d0f48c0736419ebff11c31f2b825c267a48e8ac1f02547c4d7dfd727c88324c5f901e511b263ca53a592510953d2b1b2230589-bb имя_байба Убедитесь, что схема этого сервера опубликована с помощью «apollo service: pu sh» и что операции зарегистрированы с «apollo client: pu sh».

Я запутался, потому что Я только что выполнил оба этих шага. Я

...