已部署的 Express 服务器未创建 session?
Deployed express server isn't creating a session?
我已经在数字海洋上部署了一个 node express 服务器。但是,它不会在部署后创建 session。我添加了一个存储以防止内存泄漏并初始化
app.set('trust proxy', 1)
,在 session 之前。一旦用户通过身份验证,我就会为 session 创建一个用户。下面的代码片段显示了 session.
的配置
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 })
}
}
)
发现问题出在服务器上。因为我已经申请了 secure:true,所以它不会工作,因为生产服务器没有使用 SSL 保护。然后我也把cookies改成了sameSite:none.
app.use(
session({
key: "userid",
secret: "subscribe",
resave: false,
store: sessionStore,
saveUninitialized: false,
cookie: {
expires: 60000 * 60,
secure: true,
sameSite: "none"
}
})
)```
我已经在数字海洋上部署了一个 node express 服务器。但是,它不会在部署后创建 session。我添加了一个存储以防止内存泄漏并初始化
app.set('trust proxy', 1)
,在 session 之前。一旦用户通过身份验证,我就会为 session 创建一个用户。下面的代码片段显示了 session.
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 })
}
}
)
发现问题出在服务器上。因为我已经申请了 secure:true,所以它不会工作,因为生产服务器没有使用 SSL 保护。然后我也把cookies改成了sameSite:none.
app.use(
session({
key: "userid",
secret: "subscribe",
resave: false,
store: sessionStore,
saveUninitialized: false,
cookie: {
expires: 60000 * 60,
secure: true,
sameSite: "none"
}
})
)```