Estoy usando una sesión de cookies expresa: http://expressjs.com/en/resources/middleware/cookie-session.html
No puedo encontrar la respuesta a esto y, según algunos registros, no hay forma de ver el tiempo transcurrido. Así que estoy tratando de encontrar una manera de verificar esto y ver si ha expirado y cerrar la sesión del usuario y destruir la sesión.
En isAuthenticated me gustaría ver si hay una manera de ver si la sesión ha expirado. Mi esperanza era que el método de pasaporte isAuthenticated () manejaría todo eso, pero parece que esto solo verifica si hay un usuario en req.user.
¿Cómo sabría cuándo la cookie ha caducado para poder cerrar la sesión del usuario?
app.use( cookieSession({ name: "authSession", expires: new Date(Date.now() + 1 * 60 * 1000), keys: [process.env.COOKIE_KEY], }) ); app.use(passport.initialize()); app.use( passport.session({ saveUninitialized: true, resave: false, secret: process.env.SESSION_SECRET, }) ); app.get("*", isAuthenticated, (req, res) => { res.sendFile(indexPath); });Tengo un middleware comprobando si está autenticado.
module.exports.isAuthenticated = (req, res, next) => { const expired = req.sessionOptions.expires; const current = new Date(Date.now()); console.log("expired = ", expired, " current = ", current); if (req.isAuthenticated()) { console.log( "req sessionn = ", req.sessionOptions.maxAge, ); next(); } else { res.render(process.env.AUTH_LOGIN_PAGE || "login"); } };