Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

215
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!