我正在使用webook来调用我的节点js应用程序中的一个路由器。
我想不要使用'csurf',它是调用特定路由器时CSRF令牌的库。
路由器名为ch
,而不是index
路由器
我的CSRF考试代码就像这样
var csrf = require('csurf');
var csrfProtection = csrf();
var csrfExclusion = ['/check-ch'];
var conditionalCSRF = function (req, res, next) {
if(csrfExclusion.indexOf(req.path) !== -1){
next();
} else {
csrf(req, res, next);
next();
}
}
router.use(conditionalCSRF);
router.post('/check-ch',(req, res, next) => {
console.log(req.body);
console.log('i am here');
});
通常我搜索了stackoverflow,但是所有答案都显示上面的方法应该可以工作,但是在terminal
我最终得到了无效的csrf令牌,我不知道为什么。
CSRF令牌也在index.js路由器中使用,通过相同的方法,我首先加载它,然后直接使用router.use(csrfProtection)
,没有使用conditionalCSRF
。
当我尝试使用webook时,看起来似乎没有调用conditionalCSRF,所以我不确定是什么阻止它运行。