我們正在構建基於Symfony 3 REST API(使用FosRestBundle)的Angular 2 Web應用程序。我們使用有狀態的JWT在後端和前端之間驗證用戶身份。對於使用JWT的Symfony 3 API REST和Angular webapp使用CSRF令牌保護有用嗎?
我們現在正在考慮CSRF,並且我們想知道除了JWT之外是否使用CSRF令牌是正確的。我們看到,在FosRestBundle documentation:
當構建既要通過HTML形式,以及通過REST API處理形式單一的應用程序,一個運行與CSRF令牌驗證的一個問題。在大多數情況下,需要爲HTML表單啓用它們,但將它們用於REST API是沒有意義的。出於這個原因,有一個表單擴展來禁用具有特定角色的用戶的CSRF驗證。這當然要求REST API用戶對自己進行身份驗證並獲得指定的特殊角色。
我們瞭解,其他一些StackOverflow的問題,太(見例如here和here)。
我的問題很簡單:爲什麼不推薦使用帶REST API的CSRF令牌?我們不瞭解JWT如何保護CSRF攻擊。
感謝:-)