One*_*Dot 4 authentication endpoint swagger swagger-ui quarkus
我已经使用@OpenAPIDefinition注释配置了 OpenAPI,以在 Swagger UI 上显示授权(按钮),但目前它没有功能,当我尝试进行身份验证时,它什么也不做(不执行任何请求)。
我想要实现的是通过 Swagger UI 上的授权按钮进行身份验证;然后提取令牌并将其作为授权标头传递到所有端点。
如何配置和利用授权功能,然后使其对所有端点全局可用?
我的应用程序使用带有 Bearer 方法的 HTTP 进行保护。
Swagger UI 身份验证的当前配置
@OpenAPIDefinition(
info = @Info(
title = "My API",
version = "1.0.0"
),
components = @Components(
securitySchemes = {
@SecurityScheme(
securitySchemeName = "bearerAuth",
type = SecuritySchemeType.HTTP,
scheme = "bearer",
bearerFormat = "JWT"
),
@SecurityScheme(
securitySchemeName = "basic",
type = SecuritySchemeType.HTTP,
scheme = "basic"
)
}
),
security = {
@SecurityRequirement(name = "bearerAuth"),
@SecurityRequirement(name = "basic")
}
)
public class CustomApi extends Application { }
Run Code Online (Sandbox Code Playgroud)
小智 5
您还需要将令牌 url 添加到定义中,以便 Swagger-UI 知道如何检索令牌并进行身份验证。我在这里有一个示例: https: //github.com/radcortez/microprofile-samples/blob/042e4d349a09a8505b25b880dd4f3e0095b55369/services/book-api/src/main/java/com/microprofile/samples/services/book/BookApplication.java #L40-L55。
请告诉我这是否适合您。干杯!
| 归档时间: |
|
| 查看次数: |
3862 次 |
| 最近记录: |