如何在 LoopBack 的控制器函数中访问 headers?

How do I access headers within a controller function in LoopBack?

我在环回中有一个函数,它使用它自己的特殊身份验证形式。我不想让这个身份验证阶段与端点本身分开完成。我想在端点代码中进行身份验证。

为此,我需要访问授权 header。

如何在环回控制器函数中执行此操作?

  @get('/item/{itemId}', {
    description: `Get a specific item`,
    responses: {}
  })
  async getItem(
    @param.path.string('itemId') itemId: string,
  ): Promise<LabResult[]> {
    // How do I get headers from here?
    const auth = somehowGetHeaders().get("Authorization");
  }

您可以通过注入请求 object 来访问 headers。例如 。 . .

@get('/item/{itemId}', {
  description: `Get a specific item`,
  responses: {}
})
async getItem(
  @param.path.string('itemId') itemId: string,
  @inject(RestBindings.Http.REQUEST) private req: Request
): Promise<LabResult[]> {
  console.log('headers', req.headers);
  // using header information here you can authenticate
}