Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

221
Vistas
Cookies enviadas desde el backend pero no configuradas correctamente en el frontend

Me encuentro con este problema:

  • localhost:3000 (aplicación React)
  • host local: 9000 (Nodejs back-end)

Pude enviar la solicitud del cartero y recibir las cookies allí, sin embargo, en la interfaz cuando compruebo las cookies en el navegador no hay nada.

Las cookies no son visibles en la pestaña Aplicación > Cookies.

El código que uso para entregar registros y enviar la cookie:

 // requirements const User = require('../models/User'); const jwt = require('jsonwebtoken'); // handle errors const handleErrors = (err) => { console.log(err.message, err.code); let errors = { first_name: '', last_name: '', email: '', password: '' }; // duplicate error code if (err.code === 11000) { errors.email = 'That email is already registered'; return errors; } // validation errors if (err.message.includes('User validation failed')) { Object.values(err.errors).forEach(({ properties }) => { errors[properties.path] = properties.message; }); } return errors; } const maxAge = 3 * 24 * 60 * 60; const createToken = (id) => { return jwt.sign({ id }, 'Dummy Secret', { expiresIn: maxAge }); } // module exporting module.exports.signup_post = async (req, res) => { const { first_name, last_name, email, password } = req.body; try { const user = await User.create({ first_name, last_name, email, password }); const token = createToken(user._id); res.cookie('jwt', token, { httpOnly: true, maxAge: maxAge * 1000 }); res.status(201).json({ user: user._id }); } catch (err) { const errors = handleErrors(err); res.status(400).json({ errors }); } };

si alguien me pudiera orientar que hacer se lo agradeceria

ACTUALIZACIÓN: Hice algunas pruebas y los resultados fueron los siguientes: cuando ejecuté este código en la aplicación principal.js en el backend y envié una solicitud desde el front-end, las cookies aún estaban en mal estado, por lo que muy bien podría ser el Interfaz.

 app.get('/set-cookies', (req, res) => { res.cookie('newUesr', false); res.cookie('isEmployee', true, { maxAge: 1000 * 60 * 60 * 24, httpOnly: true}); res.send('you got the cookies!'); }); app.get('/read-cookies', (req, res) => { const });

Pero cuando lo hago a través de mis controladores en el código mostrado anteriormente, se atasca en las cookies configuradas como se muestra en esta imagen.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Aquí hay un enlace útil para comprender las cookies httpOnly y los métodos alternativos. ¿Cómo obtener una cookie solo HTTP en React?

about 4 years ago · Juan Pablo Isaza Denunciar

0

Pude resolver el problema siguiendo estos pasos:

  1. Asegurándose de que la solicitud de recuperación tenga withCredntials: true y credentials: 'include' , por lo que la solicitud de recuperación sería así:
 fetch("http://localhost:9000/testAPI", { withCredntials: true, credentials: 'include' })

Tenga en cuenta que esto solo funciona con solicitudes GET , no solicitudes POST sin el segundo paso.

  1. Para solicitudes POST bloqueadas por cors, solo asegúrese de tener esta línea en su backend después de haber requerido cors por supuesto app.use(cors({credentials: true, origin: true})); usar * o http://localhost:3000 (independientemente del número de puerto) en lugar de verdadero parece dar el error.

NOTA: De acuerdo con @ikhvjs withCredntials: true no es obligatorio, sin embargo, todavía tengo que probar esto, así que inténtelo bajo su propio riesgo.

Gracias a todos por la ayuda :D

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda