我正在使用帆来处理应用程序。网络和移动。
我希望在应用程序访问网络时使用sails提供的CSRF保护。如果移动应用程序发送请求。用有效载荷发送一个jwt。
在帆上'文档我发现了一个属性 csrf.routesDisabled ,它禁用了某些路由的CSRF。但这不是我想要的。我试图找到一种方法,例如,检查参数jwt是否在post请求中发送。如果参数已发送,则检查并验证它。否则,检查表单的_csrf值。这可能吗?
或csrf保护在将任何信息发送到服务器之前有效吗?
我最好选择在网络应用中使用jwt吗?
欢迎解决此问题的任何其他好主意
感谢
答案 0 :(得分:0)
听起来您已经使用SailsJS构建了Web应用程序,并且您正在尝试将控制器操作重用为外部应用程序的REST端点。
您应该做的是将数据访问与前端分离。拥有一个独立的REST API - 使用令牌身份验证 - Web前端(和任何其他应用程序)都使用它。
例如,我目前正在使用SailsJS REST API,由EmberJS前端和iOS应用程序使用。两个前端都使用用户凭据登录,以便接收身份验证令牌。然后,此令牌将用于任何将来的请求。策略会锁定除登录验证端点之外的所有端点,以验证令牌