es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

connect.sid no se almacena en la cookie

Tengo una aplicación de Node Express.

const session = require('express-session');
const config = require('config');
var MemoryStore = require('memorystore')(session);

module.exports = function (app) {
    app.use(express.json());
    app.use(
        session({
            saveUninitialized: false,
            cookie: { maxAge: 86400000 },
            store: new MemoryStore({
                checkPeriod: 86400000
            }),
            resave: false,
            secret: config.get('Storagehash')
        })
    );
    app.use('/api/auth', users);
}

He separado la ruta de autenticación y la he puesto en un archivo separado así. Cuando hago console.log(req.session), obtengo una salida correcta.

const router = express.Router();

router.post('/', async (req, res) => {
    // ...
    req.session.isAuth = true;
    console.log(req.session);
    req.session.customerID = customer;

    res.send(token);
});

Pero cuando miro en la pestaña de cookies, no se inserta el connect.sid.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que la cookie de sesión no se está estableciendo correctamente en la aplicación. El nombre de la cookie para la sesión suele ser “connect.sid” y debería configurarse con las opciones adecuadas, como el mismo valor “maxAge” que la opción de la cookie de sesión. Es posible que el middleware de sesión no se esté utilizando correctamente o que haya un problema con la implementación de MemoryStore. Se recomienda consultar la documentación del middleware de sesión y la biblioteca Memorystore para asegurarse de que todo se esté utilizando correctamente. Además, revisar cualquier error en la consola de la aplicación o en los registros puede proporcionar más información sobre el problema.

Comments are closed.