首页 > 解决方案 > OpenApi 授权所有服务

问题描述

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

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

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

标签: javaspring-securityswaggeropenapi

解决方案


在您的代码中删除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


推荐阅读