【问题标题】:swagger-js: how to add authorization headers?swagger-js:如何添加授权标头?
【发布时间】:2019-11-02 03:57:14
【问题描述】:

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

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

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

【问题讨论】:

    标签: node.js swagger


    【解决方案1】:

    所以,从swagger-js code 中挖掘,“我在规范中给出的任何键” 都是要走的路。这意味着,如果您的安全方案如下所示:

    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',
      }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-19
      • 1970-01-01
      • 2017-04-24
      • 1970-01-01
      • 2017-10-04
      • 2017-05-19
      • 2021-08-21
      相关资源
      最近更新 更多