Я использую 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.
Спасибо за помощь:)