KeystoneJS CSRF在自己的页面上
我正在寻找一个简单的方法来设置一个CSRF令牌,并检查每个POST / PUT / …请求。
AdminUI中已经有了一个机制。 这可以在“正常”的网页上使用吗?
我知道keystone.security.csrf.middleware.init
和keystone.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);