我很好奇是否以及如何将 sailsJS 应用程序与 View 层完全分离。也就是说,在我的案例中,不以与 RESTful API 相结合的方式管理模板、 View 、客户端 JS 和 Assets 。我想尝试部署两个独立的存储库,它们不需要知道另一个存储库如何通过请求相互交互。
我知道 sails new <apiName> --no-frontend
选项,但我还想将 CSRF token 合并到我的表单中,而这些 token 在建议的 ejs
中没有这样做。使用 <input type='hidden' name='_csrf' value='<%= _csrf %>'>
的方法.
我的案例是否可能并建议公开一个端点,该端点严格处理在我的 sailsJS 服务器上授予和验证 csrf token ?
最佳答案
您可以放弃与前端有关的所有内容(--no-frontend
是一个好的开始)。如果您不生成前端,csrf
Hook 和 GET/csrfToken
仍然存在,但 sails 将需要一个 _csrf
参数你POST
,PUT
,等等,如果启用了 CSRF Hook 。
在您的 sails 应用程序中,无论何时处理路线,您都不必返回 res.view()
或 res.render()
;你可以返回 res.json()
或类似的东西。
例如,我们使用gulp与风 sails 分开管理我们的 Assets ;这样 sails 只处理 API 请求,而不处理静态文件或渲染。
关于javascript - 使用 CSRF 的 SailsJS View 层分离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38913790/