路由器节点js的异常CSRF检查

时间:2017-11-21 18:38:21

标签: javascript node.js csrf

我正在使用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,所以我不确定是什么阻止它运行。

0 个答案:

没有答案