2016-10-16 10 views
1

私のAPIプロジェクトで春のセキュリティと春のOauth2とJWTを使用しています
春のoauth 2が提供したデフォルトのAPIは/ oauth /トークン春のoauth2トークンAPIのHTTP厳密トランスポートセキュリティ(HSTS)応答ヘッダーを削除する

このAPIは、常に "Strict-Transport-Security:max-age = 31536000; includeSubDomains"ヘッダーを応答に追加します。 しかし私は私の状況でこれを望んでいません。そして私は以下のソースコードでHSTSを削除しました。

上記のコードでは、定義したAPIはヘッダーのHSTSから削除されています。しかし、デフォルトのAPI/oauth/tokenはまだヘッダにHSTSを返します。 これを行う方法はありますか? 助けてください。

私はちょうど同じ問題に遭遇したおかげで、 錫

答えて

1

。 私が見つけた最良の解決策は、他人が一般的に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() { 

    } 

} 
関連する問題