Удалить заголовок ответа HTTP Strict Transport Security (HSTS) весной oauth2 token API

57
3

Я использую Spring Security и Spring Oauth2 и JWT в проекте API
API по умолчанию для входа в систему, указанная Spring oauth 2, является /oauth/token

Этот API всегда добавляет в ответ заголовок "Строгий-Транспорт-Безопасность: max-age = 31536000; includeSubDomains". Но я не хочу этого в своей ситуации. И я удалил HSTS с приведенным ниже исходным кодом.

@EnableWebSecurity
public class WebSecurityConfig extends
WebSecurityConfigurerAdapter {

@Override
protected void configure(HttpSecurity http) throws Exception {
http
// ...
.headers()
.httpStrictTransportSecurity().disable();
}
}

С приведенным выше кодом API, которые я определил, удаляется HSTS в заголовке. Но по умолчанию API/oauth/token по-прежнему возвращает HSTS в заголовке. Есть какой-либо способ сделать это? Пожалуйста помоги.

Спасибо, олово

спросил(а) 2016-10-16T17:07:00+03:00 4 года назад
1
Решение
58

Я просто столкнулся с тем же вопросом. Лучшее решение, которое я нашел, это написать фильтр, который не позволяет другим пользователям настраивать заголовок HSTS в целом.

@Component
@Order(value = Ordered.HIGHEST_PRECEDENCE)
public class HstsHeaderPreventionFilter implements Filter {

@Override
public void init(FilterConfig filterConfig) throws ServletException {

}

@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
chain.doFilter(request, new HttpServletResponseWrapper((HttpServletResponse) response) {
public void setHeader(String name, String value) {
if (!name.equalsIgnoreCase("Strict-Transport-Security")) {
super.setHeader(name, value);
}
}
});
}

@Override
public void destroy() {

}

}

ответил(а) 2017-03-27T22:58:00+03:00 3 года, 6 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема