繁体   English   中英

Quarkus Swagger-UI 授权

[英]Quarkus Swagger-UI Authorization

我目前正在使用 Quarkus-smallrye-openapi 提供的 Quarkus 和 Swagger-UI。 我们有来自 Azure AD 的 OIDC 作为安全性,目前 Swagger-UI 不支持它(请参阅Swagger-Docs ),所以我无法添加“真正的”授权给 swagger。 这意味着,我不能使用 Swagger,因为我的端点至少由@RolesAllowed 我们有一个端点来获取模拟安全令牌,但我不知道如何告诉 swagger 获取此令牌。 基本上我想告诉 swagger-ui “这里,我有这个令牌,将它添加为Authorization: Bearer XXX到所有请求”,但我不知道如何在 Quarkus 中做到这一点。

  1. 注册安全方案
@Path("/sample")
@SecuritySchemes(value = {
        @SecurityScheme(securitySchemeName = "apiKey", 
                        type = SecuritySchemeType.HTTP,
                        scheme = "Bearer")}
)
public class SampleResource {
  1. 使用注册的方案名称标记操作的安全要求。
    @GET
    @SecurityRequirement(name = "apiKey")
    String hello() {
  1. 授权选项现在应该在 swagger 页面上可用。 在此处输入您的模拟 API 密钥。 在此处输入图片说明

  2. 从 swagger ui 触发服务。 您现在可以看到Authorization: Bearer <VALUE>在请求中设置的标头。

暂无
暂无

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

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