2017-11-16 22 views
2

Iamは今すぐ失われ、何か助けが必要です。SpringBoot - 角5 - CSRF

私はSpringSecurtiy 4.3と

  • SpringBootサーバーを持っています。
  • アンギュラ5のApp

そして、それは、デフォルトでは、両方で有効にする必要がありますので、CSRF保護を有効にする(ドキュメントを言う) :そのこと!角度で

http 
.csrf() 
.csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse()); 

私はこれらのモジュールを追加する必要があります:私はこれらのセキュリティのconfigsを追加する必要がSpringBootで

imports: [ 
    ..., 
    HttpClientModule, 
    HttpClientXsrfModule, //(!) 
... 

ボトムラインを、サーバは各応答でXRSF-TOKENを送信します。

- ただし、それぞれ異なるです。あれは正しいですか?私はクライアントセッションで同じであることを期待していました。

- ここでの主な問題は、Angular5はまだ投稿後の呼び出しでXRSF-TOKENを使用していないことです(例)。その要求にX-XSRF-TOKENを設定しないでください。

私は間違っているか紛失していますか?

答えて

1

私はこの同じ問題を抱えていました。角度のバージョン5による回帰と思います。

これまでのように、あなた自身の「X-XSRF-TOKEN」ヘッダーを追加することができます。

constructor(private http: HttpClient, private tokenExtractor: HttpXsrfTokenExtractor) { 
    } 

次いで

this.http.post<any>(url, body, {headers: new HttpHeaders().set('X-XSRF-TOKEN', token)}) 

Houssem

+0

おかげを手動トークン

const token = this.tokenExtractor.getToken() as string; 

を抽出し、ヘッダに追加し、それが本当に役立ちます。 :)もうそれを無効にする必要はありません。 –