node.js缺少/空CSRF令牌(CSURF npm包)
我的CSRF令牌遇到间歇性问题。大多数情况下它都能工作,但偶尔会在服务器日志中出现无效的CSRF令牌错误。我不知道为什么它会间歇性地工作和不工作。正如您在下面看到的,我们正在使用cookie选项,并将该中间件传递到app.use函数中。当它出错时,我的console.log('CSRF-TOKEN',Cookies.get('CSRF')返回null。当它出错时,我的浏览器几乎处于此错误状态。我必须清除缓存和Cookies,重新登录,然后重试。有人能帮我吗?如果需要,我将尝试提供更多信息 index.jsnode.js缺少/空CSRF令牌(CSURF npm包),node.js,express,csrf,csrf-token,Node.js,Express,Csrf,Csrf Token,我的CSRF令牌遇到间歇性问题。大多数情况下它都能工作,但偶尔会在服务器日志中出现无效的CSRF令牌错误。我不知道为什么它会间歇性地工作和不工作。正如您在下面看到的,我们正在使用cookie选项,并将该中间件传递到app.use函数中。当它出错时,我的console.log('CSRF-TOKEN',Cookies.get('CSRF')返回null。当它出错时,我的浏览器几乎处于此错误状态。我必须清除缓存和Cookies,重新登录,然后重试。有人能帮我吗?如果需要,我将尝试提供更多信息 ind
const path = require('path');
const expressStaticGzip = require('express-static-gzip');
const express = require('express');
const bodyParser = require('body-parser');
const cookieParser = require('cookie-parser');
const csurf = require('csurf');
const helmet = require('helmet');
const config = require('./config');
/**
* Setup Express app and server settings.
*/
const app = express();
// Setup useful middleware.
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(bodyParser.json());
app.use(cookieParser());
const csrfMiddleware = csurf({
cookie: {
httpOnly: true,
secure: config.NODE_ENV !== 'local',
sameSite: true,
}
});
app.use(csrfMiddleware);
app.get('/**', (request, response) => {
response.cookie('csrf', request.csrfToken(), {
secure: config.NODE_ENV !== 'local',
sameSite: true,
});
console.log('req.path', request.path);
return response.sendFile(path.join(config.rootDir, './public/index.html'));
});
import Cookies from "js-cookie";
console.log("CSRF TOKEN", Cookies.get("csrf"))
const response = await fetch("/payment-intent", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-CSRF-Token": Cookies.get("csrf"),
"X-Stripe-CA": store.connectedAccount,
},
body: JSON.stringify(orderDetails),
});