我正在使用带有用户名/密码策略的PassportJS来验证我网站上的用户。我已确保用户必须通过 HTTPS 登录,并且我已确保会话 cookie 仅通过 HTTPS 发送:
app.use(express.session({
// ...
cookie: { secure:true }
}));
但是现在,如果有人登录(通过 HTTPS)然后通过 HTTP 返回网站,看起来他们没有登录,因为他们的浏览器没有发送 cookie。
我想将登录用户重定向到 HTTPS。
我认为我需要发布两个 cookie:一个带有会话详细信息(标记为secure: true
),一个仅显示“您已登录”(标记为secure: false
)。如果我通过 HTTP 看到第二个 cookie,我可以重定向到 HTTPS,并且将发送安全 cookie。Presto:登录用户被重定向到 HTTPS。
问题:如何在 Express 中执行此操作?