LoopBack 4 - Добавить кнопку «Авторизовать» в проводнике API - PullRequest
0 голосов
/ 04 апреля 2019

Я новичок в LoopBack v4 и пытаюсь отправить ключ авторизации при каждом запросе. Я использовал Swagger и раньше и добавлял ключ api после нажатия на кнопку «Авторизовать» справа. Чтобы избежать ошибки из-за моей неопытности, я начал с нового приложения из примера «Список Todo». Я пытался (но безуспешно) следовать тому, что предлагает этот пост: Nodejs Loopback 4 добавить конфигурацию маркера носителя в swagger explorer

Я изменил файл src/index.ts с помощью этого кода:

export async function main(options: ApplicationConfig = {}) {
  const spec: OpenApiSpec = {
    openapi: '3.0.0',
    info: {
      title: 'LoopBack Application v2',
      version: '1.0.2',
    },
    paths: {
    },
    securityDefinitions: [
      {
        api_key: [
          {
            type: 'apiKey',
            name: 'api_key',
            in: 'header'
          }
        ]
      },
    ],
  };

  const app = new TodoListApplication(options);
  app.api(spec);

  await app.boot();
  await app.start();

  const url = app.restServer.url;
  console.log(`Server is running at ${url}`);
  return app;
}

В основном я добавил эту строку: app.api(spec); и конфиг securityDefinitions. Константа spec изменяет title и version, но я все еще не вижу кнопку «Авторизовать». Конечно, я что-то упускаю или делаю что-то не так.

Любая помощь приветствуется! Спасибо!

1 Ответ

1 голос
/ 05 апреля 2019

Наконец, я добавил кнопку «Авторизовать» и отправил api_key в заголовок с такой конфигурацией:

  const spec: OpenApiSpec = {
    openapi: '3.0.0',
    info: {
      title: 'LoopBack Application v2',
      version: '1.0.2',
    },
    paths: {},
    security: [
      {
        api_key: ['api_key'],
      },
    ],
    components: {
        securitySchemes: {
          api_key: {
            type: 'apiKey',
            name: 'api_key',
            in: 'header'
          }
        }
    },
  };
...