我正在寻找设置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。
但是validate方法告诉我:“不匹配令牌”。也许我有一个概念上的误解。我认为这可以立即使用。我想念什么?
编辑2:
我将令牌添加到我的表单。我错过了这一步...
最佳答案
您可以将其称为常见的中间件,只需在routes / index.js文件中进行定义即可:
keystone.pre('routes', keystone.security.csrf.middleware.init);