【发布时间】:2021-11-03 11:16:37
【问题描述】:
我有 2 台服务器 { React:3000 和 Node:5000 } 我在后端使用 express-session, 但是每当我使用正确的 Session-Token 从 React( Axios ) 请求时, 它总是显示 Bad-Session-Token。 谁能帮我解决这个问题?
会议会议:
const mongoDBstoreSess = new MongoDBStore({
uri: "mongodb://localhost:27017/SomeDb",
collection: "mySessions"
});
app.use(
session({
name: "SomeCookie",
secret: "SuperSecret",
resave: true,
saveUninitialized: false,
store: mongoDBstoreSess,
cookie: {
maxAge: 7.2e+6,
// sameSite: false,
secure: false,
httpOnly: false
}
})
);
app.use(csrf());
app.use(function(err, req, res, next) {
// console.log(require('ip').address());
if (err.code !== 'EBADCSRFTOKEN') return next(err);
res.type("application/json").status(403).send({msg: "Session error.", res: {}});
console.log("Bad Session!");
});
React Axios 请求对象:
{
method: "post",
url: "",
baseURL: site.reqUrl,
headers: {"CSRF-Token":"lkIpPT8A-ts2YcBc_YggWDYwe5f74k8jTWHM"},
// xsrfHeaderName: "CSRF-Token",
data: {},
}
【问题讨论】:
标签: node.js reactjs express mongoose express-session