2016-04-02 8 views
2

私はRESTful Spring Boot and React/Altアプリケーションを構築しています。私は春のセキュリティを追加して、APIへの認証されていない要求がないことを確認します。スプリングブートセキュリティとAuth0 - CSRFを無効にできません

認証プロバイダにAuth0を使用しているため、ユーザーはアプリケーションにログインできます。具体的には、サーバー側のセキュリティ面を処理するspring-security-auth0ライブラリです。 APIへのリクエストはJSONウェブトークンなしでは動作しませんようにhttps://github.com/auth0/spring-security-auth0

Auth0上の基本的なチュートリアルに従った後、私は私の春のアプリケーションのセキュリティ設定を構成しています。これは動作しますが、コントローラにはないエンドポイント(POSTが必要なもの)があります。私はクロームのデベロッパーツールでこのエラーを取得する -

Invalid CSRF Token 'null' was found on the request parameter '_csrf' or header 'X-CSRF-TOKEN' 

私はそこにはCSRFヘッダが存在しないと、それが動作していない理由があることを理解しています。しかし、私が混乱している主な理由は、私がCSRFを無効にしていることです。春のドキュメントが指示するように、私はこれをやった -

@Configuration 
@EnableWebSecurity 
@ComponentScan("com.auth0") 
@ImportResource("classpath:auth0-security-context.xml") 
@PropertySource("classpath:auth0.properties") 
public class SecurityConfig extends WebSecurityConfigurerAdapter { 

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

アプリは、これまでのdevの環境で使用されるように、私はこのケースでCSRFは必要ありません。私がCSRFを完全に無効にしたのに、なぜこれはどうして起こりますか?

答えて

0

Exceptionを担当するCsrfFilterが確実に有効になっています。 これにはさまざまな理由があります。 WebSecurityConfigurerAdapterの別のインスタンスをどこかに設定できますか?

あなたが試すことができ、次の

が行にブレークポイントを設定してください 'http.csrf()(無効);'実際に実行されたかどうかを確認します。

WebSecurityConfigurerAdapterのコンストラクターにブレークポイントを設定して、多くのインスタンスが作成されているかどうかを確認します。

+0

ええ、私はこれをやっていましたが、私は春のXML設定に慣れていません。私はAuth0セキュリティコンテキストxmlをJava Configに変換し、そこでCSRFを無効にすることに決めました。すべて今働いて、ありがとう! –

関連する問題