我们正在构建基于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攻击。
感谢:-)