запрос от почтальона игнорируется, но от swagger не игнорируется jwt в весеннем загрузочном приложении - PullRequest
0 голосов
/ 12 января 2019

Я настроил весеннюю загрузку и JWT. Когда я вызываю / authenticate / login от почтальона, он игнорируется, как и ожидалось, и генерирует токен jwt. Когда я вызываю тот же API из swagger-ui.html, запрос не игнорируется. Вместо этого он обрабатывается для токена jwt и возвращает 401 исключений.

http.cors()
                .and()
                .csrf()enter code here
                .disable()
                .authorizeReques`enter code here`ts()
                .antMatchers("/v2/api-docs/**").permitAll()
                .antMatchers("/swagger-resources/configuration/ui").permitAll()
                .antMatchers("/swagger-ui.html").permitAll()
                .antMatchers("/webjars/springfox-swagger-ui/**").permitAll()
                .antMatchers("/swagger-resources**").permitAll()
                .antMatchers("/swagger.json").permitAll()
                .antMatchers("/swagger-resources/configuration/security").permitAll()
                .antMatchers("/authenticate/*", "/user/forgotpassword").permitAll()
                .anyRequest().authenticated()
                .and()
.exceptionHandling().authenticationEntryPoint(unauthorizedHandler)
.and()
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);
http.addFilterBefore(authenticationTokenFilterBean(), UsernamePasswordAuthenticationFilter.class);

Ниже указан мой код конфигурации:

@Configuration
@EnableSwagger2
@Profile("!prod")
public class SwaggerConfig {
    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.any())
                .build()
                .enable(true)
                .securitySchemes(Arrays.asList(apiKey()));
    }

    @Bean
    SecurityConfiguration security() {
        return new SecurityConfiguration(null, null, null, null, "Bearer access_token", ApiKeyVehicle.HEADER,
                SecurityConstants.AUTHORIZATION_HEADER, ",");
    }

    private ApiKey apiKey() {
        return new ApiKey("Authorization", "Authorization", "header");
    }

}

Это один и тот же URL как от чванства, так и от почтальона, но с разным поведением. Что вызывает это странное поведение?

...