我正在寻找一种简单的方法来设置 CSRF token 并在每个 POST/PUT/... 请求上检查它。
AdminUI 中已经有一个机制。这可以在“普通”网页上使用吗?
我知道 keystone.security.csrf.middleware.init
和 keystone.security.csrf.middleware.validate
函数。但是在哪里打电话最好呢?
提前非常感谢! 丹尼尔
编辑: 我尝试过使用
keystone.pre('路由', keystone.security.csrf.middleware.init);
keystone.pre('routes', keystone.security.csrf.middleware.validate);
在我的路线文件中。 token 设置在我的 cookie 中。当我请求服务器时,cookie也会被传输。 但验证方法告诉我:“ token 不匹配”。也许我有一个概念上的误解。我想,这可以开箱即用。我错过了什么?
编辑2: 我会将 token 添加到我的表单中。我错过了这一步...
最佳答案
你可以将它作为一个普通的中间件来调用,只需在你的routes/index.js文件中定义它即可:
keystone.pre('routes', keystone.security.csrf.middleware.init);
关于node.js - KeystoneJS CSRF 在自己的页面上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37511830/