我有这个GET端点,但我不确定如何调用它。我总是得到无效的csrf令牌。我的POST端点工作得很好。我没有任何问题。我只遇到GET端点问题。
const csrf = require('csurf');
router.route('/sessioncount')
.get(csrf({ ignoreMethods: [] }), (req, res, next) => {
sess = req.session;
if (sess.authenticated) {
if (sess.views) {
sess.views++;
res.setHeader('Content-Type', 'text/html');
res.write('<p>Session views: ' + sess.views + '</p>');
res.end();
} else {
sess.views = 1;
res.end('Welcome, you are logged in!');
}
} else {
res.setHeader('Content-Type', 'text/html');
res.write('<p>You are not allowed to view this page. Please <a href="/api/form">log in</a></p>');
res.end();
}
})
我这样称呼它,但我只猜测它
http://localhost:31337/api/sessioncount?csrf=qudszjrT-mQ5uu4qXrQXI7C_NJYlXXUIdKB0
http://localhost:31337/api/sessioncount?_csrf=qudszjrT-mQ5uu4qXrQXI7C_NJYlXXUIdKB0
http://localhost:31337/api/sessioncount?csrfToken=qudszjrT-mQ5uu4qXrQXI7C_NJYlXXUIdKB0
答案 0 :(得分:0)
我通过改变这个来实现它的工作
// const csrfProtection = csrf({ cookie: true });
const csrfProtection = csrf();