LoopBack 4 - 在API资源管理器中添加“授权”按钮

问题描述 投票:0回答:1

我是LoopBack v4的新手,我正在尝试发送每个请求的授权密钥。之前我使用过Swagger,在点击右侧的“授权”按钮后,我习惯添加api密钥。为了避免由于我缺乏经验而导致的错误,我开始使用“Todo List”示例的新应用程序。我尝试(没有成功)遵循这篇文章建议的内容:Nodejs Loopback 4 add bearer token config into 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);和配置securityDefinitionsspec常数改变了titleversion,但我仍然看不到“授权”按钮。当然,我错过了什么或做错了什么。

任何帮助表示赞赏!谢谢!

node.js swagger loopbackjs swagger-ui v4l2loopback
1个回答
1
投票

最后,我添加了“授权”按钮,并使用以下配置在标头中发送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'
          }
        }
    },
  };
© www.soinside.com 2019 - 2024. All rights reserved.