繁体   English   中英

未从 Open API 生成器向 Swagger 添加安全性

[英]Security is not added to Swagger from Open API generator

我正在我的团队中开展一个新项目,我们正在按照 API 优先方法实施 API。 我们正在使用openapi-generator-maven-plugin从 OpenAPI 3.0.3 格式的 yml 文件生成我们的 API。 为了生成 swagger 文件,我们使用 springfox 2.9.2。 我面临的问题是当我试图为请求的招摇添加安全性时。

components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
security:
  - bearerAuth: [ ]

Authorize按钮没有出现在 swagger 页面中,只有靠近请求的锁出现,但它没有做任何事情(见下图)。

我观察到的是,如果我打开/v2/api-docs swagger json 不包含安全定义部分。

我设法添加安全性的唯一方法是在 Docket 对象中通过代码添加安全性部分,如下所示:

new Docket(DocumentationType.SWAGGER_2)
    .securityContexts(Collections.singletonList(securityContext()))
    .securitySchemes(Collections.singletonList(bearerJwtKey()))
    .select()
    .apis(RequestHandlerSelectors.basePackage("com.example"))
    .paths(PathSelectors.any())
    .build();

这是为 Swagger UI 添加安全性的唯一方法还是我遗漏了什么?

在此处输入图片说明

我认为现在的主要答案 - 不记名身份验证尚未在 spring 库中实现:(

在此处输入图片说明

来源: https : //openapi-generator.tech/docs/generators/java/#security-feature

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM