Tengo un problema en el que no puedo tomar mis cookies de mi backend de node.js. A continuación se muestra mi código actual y cuando consola.log (req.cookies) Devuelve [Objeto: prototipo nulo] {}. Tuve un problema similar en el pasado y la forma en que lo solucioné fue simplemente agregando "withCredentials: true", pero como ya lo tengo en mi solicitud de publicación de axios, no creo que ese sea el problema.
Interfaz
const save = async () => { if (loggedInCookie) { await axios.post('http://localhost:5000/savelisting', { withCredentials: true, link: link, car: car, price: price, picture: picture, timeleft: timeleft, site: site, milage: milage, location: location, trans: trans }); } else { console.log("please login to save this listing") }; };back-end
app.post('/savelisting', async (req, res) => { console.log(req.cookies); try { var jwtToken = await req.cookies.AccessToken; console.log(jwtToken); // Grooms cookie jwtToken = jwtToken .split('; ') .find(row => row.startsWith('AccessToken=')) .split('=')[1]; const decoded = jwt.verify(jwtToken, process.env.TOKEN_KEY); var userId = decoded.id console.log(userId) const link = req.body.link; const car = req.body.car; const price = req.body.price; const picture = req.body.picture; const timeleft = req.body.timeleft; const site = req.body.site; const milage = req.body.milage; const location = req.body.location; const trans = req.body.trans; } catch(err) { console.log(err) }; res.status(200).send(); });Está enviando la configuración withCredentials como parte de los datos a su API. Se debe pasar como una opción a axios:
axios.post( 'http://localhost:5000/savelisting', { link: link, car: car, ... }, { withCredentials: true } )