spring - 用于不同 oauth 客户端的多个 Springfox SecurityConfigurations

标签 spring kotlin swagger swagger-ui springfox

是否可以配置多个SecurityConfiguration年代?

SecurityConfiguration可以为 OAuth 客户端设置 Client-ID 和 Secret:

@Bean
fun swaggerSecurityConfiguration() =
        SecurityConfigurationBuilder.builder()
                .clientId(CLIENT_ID)
                .realm(REALM)
                .appName(APP_A)
                .additionalQueryStringParams(mapOf("nonce" to UUID.randomUUID().toString()))
                .build()

对于单个客户,它就像魅力一样:

working example

问题:如果你有,如何配置springfox多个 oauth2 客户端 ID ?
@Bean
fun api(): Docket {
    return Docket(DocumentationType.SWAGGER_2)
            // ...
            .securitySchemes(listOf(appA_AuthSecuritySchema(), appB_AuthSecuritySchema()))
            .securityContexts(listOf(appA_AuthSecurityContext(),appB_OAuthSecurityContext()))
}

我找不到任何方法将 securitySchemas 与不同的 SecurityConfigurations 关联起来。

最佳答案

您是否考虑过将您的 API 分成多个案卷,每个案卷都有其开放的安全设置?

这里有一些附加信息:Configure security schemas and contexts in Springfox and Spring MVC

顺便说一句,只是一个仅供引用,但 Springfox 已经死了。我有一段时间拒绝离开它,希望那个人能回来,因为迁移到 SpringDoc 似乎是一项艰巨的任务。迁移实际上并不算太糟糕,我使用了很多 Springfox 注释功能。 Springfox 有很多问题,没有支持。近 700 个 Unresolved 问题。另外,当一切都转移到 Open API 时,您将永远被 Springfox 困在 Swagger2 领域。

关于spring - 用于不同 oauth 客户端的多个 Springfox SecurityConfigurations,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61125181/

相关文章:

子类中的 Kotlin 惰性初始化

android - 检查 AAR 元数据值时发现一个或多个问题 :

kotlin - 如何从函数调用挂起函数

c# - NSwag 自定义 JSON 输出

javascript - 使用 swagger-config.yaml 配置 Swagger UI

java - 调用init方法失败;嵌套异常是 java.lang.NoClassDefFoundError

java - Spring MVC 中的 StreamingOutput 等价物

Springframwork 和 Elasticsearch 动态字段\属性名称

json - 如何从示例JSON生成Swagger #definition

java - maven中如何继承其他库的依赖?