【问题标题】:OpenApi authorize all servicesOpenApi 授权所有服务
【发布时间】:2021-08-02 13:23:59
【问题描述】:

如何为我的所有 Swagger 服务添加 Authorization?我已经配置了 OpenApi,并且我有配置了 swagger 的主应用程序,其中注册了其他服务。在 swagger-ui 中,我定义了一些服务,我可以从列表中选择一个。对于我所有的服务,我都有配置:

“web”应用程序是注册我所有服务的主要应用程序,你怎么能看到在 swagger 中显示为定义列表。

我想要实现的是从每个端点的列表中为我的所有服务添加授权和此锁。

【问题讨论】:

标签: java spring-security swagger openapi


【解决方案1】:

在您的代码中删除 MultipleOpenApiResource 已经由 springdoc-openapi 完成。

使用OperationCustomizer,通过为您的不同操作定义SecurityRequirement 名称。

@Bean
public GroupedOpenApi usersGroup() {
    return GroupedOpenApi.builder().group("users")
            .addOperationCustomizer((operation, handlerMethod) -> {
                operation.addSecurityItem(new SecurityRequirement().addList("basicScheme"));
                return operation;
            })
            .packagesToScan("org.springdoc.demo.app2")
            .build();
}

请注意,您在这里有完整的工作演示,它结合了组和SecurityRequirement

【讨论】:

  • @mat373 用于组,您可以按任何条件过滤! packagesToScan 来自示例代码。您可以将路径与包含/排除的路径组合使用..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-21
  • 1970-01-01
  • 2021-10-21
  • 2019-03-15
  • 2011-04-09
相关资源
最近更新 更多