不同的 Swagger UI?如何显示 Autorize 按钮?

Different Swaggers UI? How to show Autorize button?

我已经使用 http://editor.swagger.io 为我的 web.api 应用程序(node js)生成了 swagger.yaml。但是当我看到我的方法招摇时,我感到困惑。按钮授权被隐藏。但是在编辑器中它被显示并且有效。 区别是这样的:

  1. 在编辑器中一切正常:

  2. 但是当我在我的应用程序中插入相同的 swagger.yaml 时,启动浏览器然后我看到了不同的视图:

我遇到了同样的问题。不幸的是,我不记得确切的解决方案。
但我记得,它与错误(在 swaggerui 中)和安全定义有关(必须存在 type=basic 才能显示按钮或其他内容...)。

这是我的 swagger.json(显示了 Auth-Button):

<!-- snip -->

"/xx/xxx/xxx" : {
   "post" : {
      "responses" : {... },
      "security" : [ {
         "demouser" : [ ]
      }, {
         "api_key" : [ ]
      } ]
   }
 }

<!-- snip -->

"securityDefinitions" : {
   "api_key" : {
      "type" : "apiKey",
      "name" : "api_key",
      "in" : "header"
   },
   "demouser" : {
      "type" : "basic"
   }
}

编辑信息:
您还应该看看 OpenAPI(swagger 3.0?!)。它有更清晰的规格和 API! (swaggerui也支持OpenAPI/Swagger3!)

您使用的是非常旧版本的 Swagger UI(2.0?),而 Swagger 编辑器使用 UI 3.x.

在UI2.x中,可以在表头的文本框中输入API键:

请注意,UI 2.x 不再由开发人员维护。考虑改用最新版本的 Swagger UI。