Настройка
У меня есть сервер авторизации Spring Boot (oauth2) со следующей HttpSecurity
настройкой
httpSecurity
.cors().and()
.csrf().disable()
.formLogin().disable()
.httpBasic().disable()
.jee().disable()
.rememberMe().disable()
.servletApi().disable()
.x509().disable()
.addFilterBefore(this.basicAuthenticationFilter(), UsernamePasswordAuthenticationFilter.class)
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)
.and().logout().logoutUrl(Url.LOG_OUT).addLogoutHandler(this.customLogoutHandler).logoutSuccessHandler(new HttpStatusReturningLogoutSuccessHandler(HttpStatus.NO_CONTENT))
.and().authorizeRequests().antMatchers("some mappings").permitAll()
.and().authorizeRequests().anyRequest().denyAll()
.and().requiresChannel().requestMatchers(r -> r.getHeader("X-Forwarded-Proto") != null).requiresSecure();
часть с .requiresChannel().requestMatchers(r -> r.getHeader("X-Forwarded-Proto") != null).requiresSecure()
это рекомендация от Heroku docs
Проблема
Мой API обслуживает https
запрос, как и положено, но он также позволяет http
, что я должен предотвратить.
Есть ли способ сделать это?
Edit: 1
Это происходит только на конечных точках, помеченных @FrameworkController
, все пользовательские конечные точки возвращают 302 при вызове с http