有没有办法在风帆应用程序中同时使用CSRF保护和JWT,但不能同时使用?

时间:2016-10-18 01:46:11

标签: security authentication sails.js jwt csrf-protection

我正在使用帆来处理应用程序。网络和移动。

我希望在应用程序访问网络时使用sails提供的CSRF保护。如果移动应用程序发送请求。用有效载荷发送一个jwt。

在帆上'文档我发现了一个属性 csrf.routesDisabled ,它禁用了某些路由的CSRF。但这不是我想要的。我试图找到一种方法,例如,检查参数jwt是否在post请求中发送。如果参数已发送,则检查并验证它。否则,检查表单的_csrf值。这可能吗?

或csrf保护在将任何信息发送到服务器之前有效吗?

我最好选择在网络应用中使用jwt吗?

欢迎解决此问题的任何其他好主意

感谢

1 个答案:

答案 0 :(得分:0)

听起来您已经使用SailsJS构建了Web应用程序,并且您正在尝试将控制器操作重用为外部应用程序的REST端点。

您应该做的是将数据访问与前端分离。拥有一个独立的REST API - 使用令牌身份验证 - Web前端(和任何其他应用程序)都使用它。

例如,我目前正在使用SailsJS REST API,由EmberJS前端和iOS应用程序使用。两个前端都使用用户凭据登录,以便接收身份验证令牌。然后,此令牌将用于任何将来的请求。策略会锁定除登录验证端点之外的所有端点,以验证令牌