0

我正在尝试做一些非常简单的事情:在发布请求中添加 api 密钥授权标头。到目前为止我尝试了什么:

  • 在 requestOptions 的 headers 键下添加它
  • 在授权密钥下创建客户端时添加它
    • 这就是搜索空间开始扩大的地方:我要添加哪个键?安全类型apiKey?我在规范中给了它什么键?实际的标题名称?(这些都不起作用,顺便说一句)

不幸的是,我在文档中找不到任何有用的信息(实际上,除了READMEFAQ页面之外,我找不到任何文档,它们没有在这个问题上提供歧义)。因此,非常感谢任何实际示例和/或指向非/官方文档来展示如何使用这个东西。

4

1 回答 1

0

因此,从swagger-js 代码中挖掘,“无论我在规范中给出什么键”都是要走的路。这意味着,如果您的安全方案如下所示:

components:
  securitySchemes:
    ymlSpecAuthKeyName: # <-- also swagger-js key
      type: apiKey
      name: X-Auth-Header-Name
      in: header

并且您希望您的请求如下所示:

curl -X POST "http://your-api-url.com/doc-you-want-to-create" \
  -H  "X-Auth-Header-Name: api-key-header-value" \
  -H  "Content-Type: application/json" \ 
  -d "{\"json-request-body\": \"goes-here\"}"

然后你应该像这样制作一个 swagger-js 客户端:

let client = await Swagger({
  spec: spec,
  authorizations: {
    ymlSpecAuthKeyName: 'api-key-header-value',
  }
});
于 2019-11-02T16:00:34.807 回答