我正在使用express-session,passport,connect-mongo和mongodb-atlas最新版本,用于创建会话并将它们保存在服务器上,问题出在app.use(passport.session())时,甚至创建了这个会话如果用户未登录
app.use(session({
// key: "id",
secret: process.env.SESSION_SECRET,
cookie: {
httpOnly: true,
sameSite: true,
// secure: process.env.IN_PROD,
maxAge: 10800000,
}, // three hours in miliseconds
store: new MongoStore({
mongooseConnection: mongoose.connection,
autoReconnect: true,
collection: "admin.mySessions",
serialize: serialize
}),
resave: false,
saveUninitialized: false,
name: 'Id'
}));
这导致当护照被初始化并且护照会话时cookie被保存为会话ID并且会话被保存在mongodb mi问题中是如何仅为登录的用户保存会话
您好伙伴我不知道mongo-session,但是根据您的解释,我知道您正在为用户创建令牌,即使他们没有登录。我建议您在每次用户点击登录API时创建一个新令牌,并在注销后使令牌过期。通过此令牌仅为活动用户生成。