Настройте SpringFox Docket для поддержки базовой аутентификации c с URL-адресом для входа - PullRequest
0 голосов
/ 05 января 2020

Я использую SpringFox 2.9.2 и Spring MVC 5.2.0.RELEASE. Я пытаюсь настроить аутентификацию basi c для пользовательского интерфейса Swagger.

Обычно пользователям необходимо войти в мою систему, используя следующий API:

METHOD: POST 
URL: https://{IP}/server/connection/login
BODY: 
{
  "username":"admin",
  "password":"123456"
}

Ответ содержит sessionID, который пользователь следует использовать в качестве повара ie.

Docket настроен следующим образом:

@Bean
    public Docket multiMetroDocket() {

        return new Docket(DocumentationType.SWAGGER_2).groupName("Group - 1")
                .select()// Expose all the external API
                .paths(PathSelectors.regex(EXTERNAL_BASE_URL + "/.*"))
                .build()
                .useDefaultResponseMessages(false)
                .apiInfo(apiInfo()).securityContexts(Arrays.asList(getSecurityContext()))
                .securitySchemes(Arrays.asList(basicAuthScheme()));
    }

    private SecurityContext getSecurityContext() {
        return SecurityContext.builder()
                .securityReferences(Arrays.asList(basicAuthReference()))
                .forPaths(PathSelectors.regex(EXTERNAL_BASE_URL + "/.*"))
                .build();
    }

    private SecurityReference basicAuthReference() {
        return new SecurityReference("basicAuth", new AuthorizationScope[0]);
    }

    private SecurityScheme basicAuthScheme() {
        return new BasicAuth("basicAuth");
    }


    @Bean
    public UiConfiguration uiConfiguration() {
        return UiConfigurationBuilder.builder()
                .build();
    }

Я не понимаю, где я должен определить URL-адрес входа в конфигурации Docket.

Спасибо за помощь:)

...