How to enable "Authorize" button in springdoc-openapi-ui (OpenAPI 3.0 /swagger-ui.html
) for Basic Authentication.
What annotations have to be added to Spring @Controller
and @Configuration
classes?
Define a global security scheme for OpenAPI 3.0 using annotation @io.swagger.v3.oas.annotations.security.SecurityScheme
in a @Configuration
bean:
@Configuration
@OpenAPIDefinition(info = @Info(title = "My API", version = "v1"))
@SecurityScheme(
name = "basicAuth",
type = SecuritySchemeType.HTTP,
scheme = "basic"
)
public class OpenApi30Config {
}
Annotate @RestController
with @SecurityRequirement(name = "basicAuth")
@RestController
@SecurityRequirement(name = "basicAuth")
public class Controller {}
OR
Annotate each @RestController
method requiring Basic Authentication with @io.swagger.v3.oas.annotations.Operation
referencing the defined security scheme:
@Operation(summary = "My endpoint", security = @SecurityRequirement(name = "basicAuth"))