Spring-boot: springfox-swagger-ui OAuth2 password_credentials

Я создал этот сервер ресурсов Oauth2:

@Configuration
@EnableResourceServer
public class ResourceServerConfiguration extends ResourceServerConfigurerAdapter {

    private static final String RESOURCE_ID = "frontoffice-rest-api";

    private static final String SECURED_PATTERN = "/**";
    private static final String SECURED_READ_SCOPE = "#oauth2.hasScope('read')";
    private static final String SECURED_WRITE_SCOPE = "#oauth2.hasScope('write')";

@Override
public void configure(HttpSecurity http) throws Exception {
    http.requestMatchers()
            .antMatchers(SECURED_PATTERN).and().authorizeRequests()
            .antMatchers("/actuator/**").permitAll()
            .antMatchers("/userlogin").permitAll()
            .antMatchers(
                "/v2/api-docs",
                "/configuration/ui",
                "/swagger-resources",
                "/configuration/security",
                "/swagger-ui.html",
                "/webjars/**",
                "/swagger-resources/configuration/ui",
                "/swagger-ui.html",
                "/swagger-resources/configuration/security"
            ).permitAll()
            .antMatchers(HttpMethod.OPTIONS).permitAll()
            .antMatchers(HttpMethod.POST, SECURED_PATTERN).access(SECURED_WRITE_SCOPE)
            .anyRequest().access(SECURED_READ_SCOPE);
}

Я смог получить токен с помощью Почтальона, используя password_credential тип предоставления успешно:

введите описание изображения здесь

Мы пытаемся настроить springfox-swagger-ui для того, чтобы иметь возможность войти в систему с помощью oauth2 протокол.

До сих пор мы только опубликовали swagger-ui без навыков безопасности. Таким образом, мы можем видеть только конечные точки документации, но мы не можем их попробовать.

public class SwaggerConfig {

    @Bean
    public Docket api() {

        return new Docket(DocumentationType.SWAGGER_2)
            .select()
                .apis(RequestHandlerSelectors.basePackage(DocumentController.class.getPackage().getName()))
                .paths(PathSelectors.any())
                .build()
                    .apiInfo(this.getMetaData());
    }

Как мы могли бы научить springfox-swagger-ui использовать OAuth2 password_credentials?

0 ответов

Другие вопросы по тегам