Несколько конфигураций Springfox SecurityConfiguration для разных клиентов oauth - PullRequest
1 голос
/ 09 апреля 2020

Можно ли настроить несколько SecurityConfiguration с?

С помощью SecurityConfiguration с можно установить идентификатор клиента и секрет для клиента OAuth:

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

Для один клиент работает как charm:

working example

Вопрос: Как настроить springfox, если у вас есть множественный идентификатор клиента oauth2 ?

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

Я не мог найти способ связать securitySchemas с различными конфигурациями SecurityConfiguration.

Ответы [ 2 ]

3 голосов
/ 14 апреля 2020

Рассматривали ли вы разделение вашего API на несколько сокетов, при этом каждый получает свою открытую настройку безопасности?

Некоторая дополнительная информация здесь: Настройка схем и контекстов безопасности в Springfox и Spring MVC

Кстати, просто к вашему сведению, но Springfox мертв. Некоторое время я воздерживался от этого, надеясь, что этот парень придет, потому что переход на SpringDo c представлял собой большую задачу. Миграция была не так уж и плоха, и я использовал множество функций аннотаций Springfox. Springfox имеет много проблем и никакой поддержки. Почти 700 открытых номеров. Кроме того, Springfox навсегда останется в сфере Swagger2, когда все перейдет на Open API.

0 голосов
/ 19 апреля 2020

Насколько мне известно, это не возможно в Springfox, и я также провел некоторые исследования и разработки и обнаружил эту проблему git, поэтому вы можете найти из нижеприведенной проблемы, что она уже закрыта, поэтому, пожалуйста, отметьте эту проблему git. https://github.com/springfox/springfox/issues/959

Спасибо!

Karmdip J.

...