通过角形swagger UI中的代码添加授权密钥

k5hmc34c  于 2022-11-23  发布在  其他
关注(0)|答案(1)|浏览(181)

我正在尝试将swagger ui集成到angular 7应用程序中。我使用的是npm的swagger-ui 3.37。API使用的是swagger 2.0 for docs. for。在API中没有启用授权的情况下,它也能正常工作。一旦在API端启用了授权,我希望通过代码添加授权令牌,这样用户就不必为每个端点手动输入授权密钥。
我已经在我的组件文件中添加了下面的代码。但是它仍然不起作用。

onComplete: 
function() {
        swaggerui.preauthorizeApiKey("Authorization", usertoken);
      }

授权字段仍然显示为空,每次都需要手动输入。我想通过代码设置授权密钥,该密钥可应用于所有端点,还想隐藏“授权”按钮
能帮上忙就好了。

编辑:安全性定义:

"securityDefinitions": {
    "Authorization": {
      "type": "apiKey",
      "description": "Filling bearer token here",
      "name": "Bearer",
      "in": "header"
    }
  }

swagger ui授权仍为空

eyh26e7m

eyh26e7m1#

我无法通过API上的swagger配置以及swagger ui构造函数中传递的配置来实现此功能。不知道为什么。
但我可以通过在TryOut按钮上添加一个hack来使其工作。在swagger ui构造函数的onComplete处理程序中,我添加了一个文档侦听器事件并捕获了Tryout点击事件,在Authorization文本框中添加了授权密钥,并将该事件冒泡为默认行为。这对我很有效。
希望这对像我一样固执己见的人有帮助

相关问题