Весной разрешат только HTTPS - PullRequest
0 голосов
/ 21 января 2019

Настройка

У меня есть сервер авторизации 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...