Вот моя конфигурация csurf:
app.use(cookieParser());
const csrfMiddleware = csrf({
key: '_csrf',
cookie: true,
maxAge: 24 * 60 * 60 * 1000,
httpOnly: true,
secure: true
});
Вот мое промежуточное ПО:
const csrfTokenCookieMiddleware = (req, res, next) => {
console.log('REQ-COOKIE-CSRF', req.csrfToken());
console.log('LOCAL-COOKIE-CSRF', req.cookies._csrf);
console.log('REQ-BODY-CSRF', req.body._csrf);
console.log(req.cookies._csrf === req.csrfToken());
res.locals._csrf = req.csrfToken();
next();
};
module.exports = csrfTokenCookieMiddleware;
Конфигурация клиента:
Axios.defaults.xsrfHeaderName = 'X-XSRF-TOKEN';
Axios.defaults.xsrfCookieName = '_csrf';
Axios.defaults.withCredentials = true;
Браузеры:
1.
REQ-COOKIE-CSRF 8Sbj56oX-jxGtIG_lkvVJQPibTFj1gH7m0so
LOCAL-COOKIE-CSRF vvDcLC_3AstbX_kZGRJnYmy-
2.
REQ-COOKIE-CSRF brw4FGss-MD6LvucB5Bh_2Npp9yYFeS7OiGE
LOCAL-COOKIE-CSRF vvDcLC_3AstbX_kZGRJnYmy-
И так далее ...
Это ошибка I получить:
ForbiddenError: invalid csrf token