我正在寻找一种简单的方法来设置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也会被传输。 但验证方法告诉我:“不匹配令牌”。也许我有一个概念上的误解。我想,这可以开箱即用。我错过了什么?
EDIT2: 我会将令牌添加到我的表单中。我错过了这一步......
答案 0 :(得分:2)
您可以将其称为常见中间件,只需在routes / index.js文件中定义:
keystone.pre('routes', keystone.security.csrf.middleware.init);