【问题标题】:Multiple Springfox SecurityConfigurations for different oauth clients用于不同 oauth 客户端的多个 Springfox SecurityConfigurations
【发布时间】:2020-04-09 15:54:55
【问题描述】:

是否可以配置多个SecurityConfigurations?

使用SecurityConfigurations 可以为 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()

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

问题:如果您有多个 oauth2 客户端 ID,如何配置 springfox?

@Bean
fun api(): Docket {
    return Docket(DocumentationType.SWAGGER_2)
            // ...
            .securitySchemes(listOf(appA_AuthSecuritySchema(), appB_AuthSecuritySchema()))
            .securityContexts(listOf(appA_AuthSecurityContext(),appB_OAuthSecurityContext()))
}

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

【问题讨论】:

  • 可能没有内置方式。

标签: spring kotlin swagger swagger-ui springfox


【解决方案1】:

您是否考虑过将您的 API 拆分为多个文档,每个文档都有其开放的安全设置?

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

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

【讨论】:

  • 感谢您提供更多信息。如果没有其他人提供解决方案,我将接受。
【解决方案2】:

据我所知,在 springfox 中这是不可能的,我也做了一些研发并找到了这个 git 问题,所以你可以从下面的问题中找到它已经关闭的问题,所以请检查这个 git 问题。 https://github.com/springfox/springfox/issues/959

谢谢!

卡姆迪普 J.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-15
    • 2019-04-17
    • 1970-01-01
    • 2020-10-08
    • 2017-10-18
    • 1970-01-01
    • 1970-01-01
    • 2018-08-31
    相关资源
    最近更新 更多