KeystoneJS CSRF在自己的页面上

我正在寻找一个简单的方法来设置一个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也被传输。 但validation方法告诉我:“不匹配标记”。 也许我有一个概念误解。 我想,这可以开箱即用。 我错过了什么?

编辑2:我将添加令牌到我的表单。 我错过了这一步…

你可以把它称为一个普通的中间件,只需在你的routes / index.js文件中定义它:

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