Невозможно поразить контроллер даже после аутентификации в Springdoc - PullRequest
0 голосов
/ 12 июля 2020

Я использую springdoc version 1.4.3 и springdoc-security version 1.4.3 в своем проекте с spring boot и spring security с конфигурацией ниже для моего springdo c Я могу получить доступ к swagger-ui. html но когда я разрешаю (введите токен через swagger-ui) и попытаюсь получить ответ от моего контроллера отдыха, мне все равно будет отказано в доступе.

@Configuration
public class SpringDocConfig {
    @Bean
    public OpenAPI CustomOpenAPI() {
        return new OpenAPI()
            .addSecurityItem(new SecurityRequirement().addList("bearAuth", Arrays.asList("read", "write")))
            .components(new Components()
                .addSecuritySchemes("bearer-key", new SecurityScheme()
                    .type(SecurityScheme.Type.HTTP)
                    .scheme("bearer").bearerFormat("JWT")
                    .in(SecurityScheme.In.HEADER)));
    }
}

вот контроллер, который я пытаюсь ударить

@GetMapping
@Operation(security = {@SecurityRequirement(name = "bearer-key")})
public List<UserEntity> getAll() { return userService.getAllUsers(); }

как завиток выглядит из swagger-ui:

curl -X GET "http://localhost:8080/api/v1/users" -H "accept: */*" -H "Authorization: Bearer eyJ..."

Нажатие моего контроллера от почтальона работает, но не работает с использованием swagger-ui, мое требование - получить его из последний.

1 Ответ

1 голос
/ 02 августа 2020

Вы должны проверить HTTP-запросы от swagger-ui.

Убедитесь, что swagger-ui отправляет носитель заголовка авторизации.

...