SailsJS使用CSRF查看图层分离

时间:2016-08-12 08:50:09

标签: javascript node.js express sails.js

我很好奇是否可以将sailsJS应用程序与View Layer完全分开。这就是不管理模板,视图,客户端JS和资产的方式,以及在我的情况下只是作为RESTful API的方式。我想尝试部署两个单独的存储库,这些存储库不需要知道另一个存储库如何通过请求相互交互。

我知道sails new <apiName> --no-frontend选项,但我还希望在我的表单中加入CSRF令牌,但不会在建议的ejs方法中使用<input type='hidden' name='_csrf' value='<%= _csrf %>'>

我的案例是否有可能并建议公开一个严格处理我的sailsJS服务器上授予和验证csrf令牌的端点?

1 个答案:

答案 0 :(得分:3)

你可以废弃与前端有关的所有内容(--no-frontend是一个好的开始)。如果您没有生成前端,csrf挂钩和GET /csrfToken仍然存在,但只要您_csrf POST,风帆就会需要PUT参数1}}等等,如果启用了CSRF挂钩。

在您的风帆应用中,无论何时处理路线,您都不必返回res.view()res.render();你可以返回res.json()或其他任何类似的东西。

例如,我们使用gulp来单独管理我们的资产;这样sails只处理API请求,而不是静态文件或渲染。