如何在 Spring 启动应用程序中定义 Swagger SecurityScheme
How to define Swagger SecurityScheme in a Spring Boot Application
我正在尝试将 http 基本身份验证要求定义为我的应用程序的默认要求:
components:
securitySchemes:
BasicAuth:
type: http
scheme: basic
但是我的 BasicAuth 安全 class 没有在 swagger.json 文件中生成。
我已经用 io.swagger.v3.oas.annotations.security.
的 @SecurityScheme 注释定义了一个 class
@SecurityScheme(type = SecuritySchemeType.HTTP, name = "basic")
public class BasicAuth {
}
在我的 OpenApi 定义中,我添加了 SecuirtyRequriment:
SecurityRequirement requirement = new SecurityRequirement();
requirement.addList("BasicAuth");
所以我发现我做错了什么,我不得不用基本的安全方案注释至少一个资源。之后它出现在 Swagger.json 文件
感谢您的 post。我没有意识到您必须通过单独的 class 添加 @SecurityScheme。这对我有用(使用 RESTeasy):
@SecurityScheme(type = SecuritySchemeType.HTTP, name = "BasicAuth", scheme = "basic")
public class BasicAuth {
}
在 javax.ws.rs.core.Application.getSingletons() 的实现中添加此 class 的一个实例。
将此注释添加到 REST 方法或 class 实现需要基本身份验证的 REST 方法:
@SecurityRequirement(name = "BasicAuth")
我正在尝试将 http 基本身份验证要求定义为我的应用程序的默认要求:
components:
securitySchemes:
BasicAuth:
type: http
scheme: basic
但是我的 BasicAuth 安全 class 没有在 swagger.json 文件中生成。
我已经用 io.swagger.v3.oas.annotations.security.
的 @SecurityScheme 注释定义了一个 class@SecurityScheme(type = SecuritySchemeType.HTTP, name = "basic")
public class BasicAuth {
}
在我的 OpenApi 定义中,我添加了 SecuirtyRequriment:
SecurityRequirement requirement = new SecurityRequirement();
requirement.addList("BasicAuth");
所以我发现我做错了什么,我不得不用基本的安全方案注释至少一个资源。之后它出现在 Swagger.json 文件
感谢您的 post。我没有意识到您必须通过单独的 class 添加 @SecurityScheme。这对我有用(使用 RESTeasy):
@SecurityScheme(type = SecuritySchemeType.HTTP, name = "BasicAuth", scheme = "basic")
public class BasicAuth {
}
在 javax.ws.rs.core.Application.getSingletons() 的实现中添加此 class 的一个实例。
将此注释添加到 REST 方法或 class 实现需要基本身份验证的 REST 方法:
@SecurityRequirement(name = "BasicAuth")