Estoy tratando de configurar una aplicación Next JS con sesión de hierro y una función de "recuérdame", por lo que si el usuario marca la casilla "Recordarme" en el formulario de inicio de sesión, la edad máxima de la cookie de sesión de hierro se establece en una semana. en lugar de mi valor predeterminado de 24 horas.
Sin embargo, no puedo encontrar una forma de establecer el valor programáticamente. Intenté lo siguiente pero obtengo 'recordarme no definido' en el ternario.
export default withIronSessionApiRoute( async function loginRoute(req, res) { const { username, password, rememberMe } = req.body; await req.session.save(); return res.status(200).send('Logged in'); }, { cookieName: 'DEMOAUTH', password: 'PmsDH2Hm09rP7XRJkuo7TKDQXtowtBjurW66RUzU', ttl: rememberMe ? 60 * 60 * 24 * 7 : 60 * 60 * 24, } );EDITAR después del comentario de Jesse: modifiqué ligeramente, agregando un const RememberMe = true para verificar que el valor definitivamente se estaba configurando y obtengo el mismo comportamiento
export default withIronSessionApiRoute( async function loginRoute(req, res) { const { username, password } = req.body; const rememberMe = true; await req.session.save(); return res.status(200).send('Logged in'); }, { cookieName: 'DEMOAUTH', password: 'PmsDH2Hm09rP7XRJkuo7TKDQXtowtBjurW66RUzU', ttl: rememberMe ? 60 * 60 * 24 * 7 : 60 * 60 * 24, } );RememberMe está definido fuera del alcance en el que está tratando de usarlo. Por eso no está definido.
Hasta donde yo sé, no es posible cambiar la configuración de la sesión de hierro según el cuerpo de la solicitud a partir de ahora, pero aquí hay un problema al solicitar esa función .
Quizá para este caso concreto lo que puedas hacer sea crear dos extremos de la API con distintas configuraciones de cookies.