KeystoneJS CSRF在自己的页面上

时间:2016-05-29 15:44:16

标签: node.js csrf keystonejs

我正在寻找一种简单的方法来设置CSRF令牌,并在每个POST / PUT / ...请求中进行检查。

AdminUI中已有一种机制。这可以用在“普通”网页上吗?

我知道keystone.security.csrf.middleware.initkeystone.security.csrf.middleware.validate函数。但是最好的地方叫它们在哪里?

非常感谢提前! 丹尼尔

编辑: 我试过用

keystone.pre('routes', keystone.security.csrf.middleware.init); keystone.pre('routes', keystone.security.csrf.middleware.validate);

在我的路线文件中。令牌在我的cookie中设置。当我请求服务器时,cookie也会被传输。 但验证方法告诉我:“不匹配令牌”。也许我有一个概念上的误解。我想,这可以开箱即用。我错过了什么?

EDIT2: 我会将令牌添加到我的表单中。我错过了这一步......

1 个答案:

答案 0 :(得分:2)

您可以将其称为常见中间件,只需在routes / index.js文件中定义:

keystone.pre('routes', keystone.security.csrf.middleware.init);