Tengo un problema al no poder acceder a una variable personalizada que configuré en el objeto de sesión cuando un usuario inicia sesión en mi servicio.
Publicar solicitud desde el front-end
const sendChat = async (contents, cid, agentID) => { const config = { headers: { "Content-Type": "application/json", }, withCredentials: true, }; const body = JSON.stringify({ channelID: cid, message: contents, agentID: agentID, }); console.log(`AgentID: ${agentID}`); return await axios.post( "http://localhost:5000/api/chat/sendMessage/", body, config ); };Configuración de la sesión en el servidor
app.use( session({ secret: config.get("sessionSecret"), name: "sid", cookie: { maxAge: 990000, httpOnly: false }, resave: true, store: MongoStore.create({ mongoUrl: config.get("mongoURI") }), saveUninitialized: false, }) );En ambos casos, cuando inicio sesión en el servicio, a través de POSTMAN o con axios en el front-end, crea una sesión que contiene el campo ID de usuario que puedo ver cuando reviso mi tienda (mongoDB). Sin embargo, cuando recibo una solicitud de axios, req.session.userID no está definido cuando intento acceder a él en una ruta, mientras que con el cartero, se define cuando intento acceder a él en la ruta. Tengo cors habilitados en el servidor.
const corsOptions = { origin: "http://localhost:3000", credentials: true, optionSuccessStatus: 200, }; app.use(cors(corsOptions));¿Por qué funciona con POSTMAN pero no a través del localhost front-end?
EDITAR: cometí un error lógico en mi front-end, agregué withCredentials: propiedad verdadera a la solicitud incorrecta.