我已经在digital ocean上部署了node express服务器。但是,一旦部署,它就不会创建会话。我添加了一个存储以防止内存泄漏并初始化了它 app.set('trust proxy', 1)
,在会议之前。一旦用户通过身份验证,我将为会话创建一个用户。下面的代码段显示了会话的配置。
app.use(
session({
key: "userid",
secret: "subscribe",
resave: false,
saveUninitialized: false,
store: sessionStore,
cookie: {
expires: 60000 * 60,
domain: ".section-webapp-y793v.ondigitalocean.app"
}
})
)
app.get("/login", (req, res) => {
if (req.session.user) {
res.send({ loggedIn: true, user: req.session.user })
} else {
res.send({ loggedIn: false })
}
}
)
1条答案
按热度按时间rm5edbpk1#
发现问题出在服务器上。因为我应用了secure:true,所以它无法工作,因为生产服务器没有使用ssl进行保护。然后我也把饼干换成了samesite:没有。