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

347
Views
Cómo guardar datos en expressjs/session NodeJS

Tengo 3 archivos: app.js, index.js (rutas), Users.js (controlador)

Una vez que mi usuario haya iniciado sesión (verificación realizada entre la información POST y la base de datos), quiero guardar datos en una sesión usando expressjs/session.

Aquí está la declaración de mi sesión en app.js:

 var session = require('express-session'); app.use(session({ resave: true, saveUninitialized: true, secret: 'trolololo' }));

Aquí están mis rutas:

 router.post('/login', function(req, res, next) { Users.login(req, res); }); router.get('/getSessionInfos', function(req,res,next){ console.log(req.session); });

Y aquí está el controlador para el inicio de sesión:

 login : function(req, res){ var formEmail = req.body.email; var formPassword = req.body.password; User.findOne({ where: {email: formEmail} }).then(function(user) { if(user){ if (user.password == formPassword){ console.log('User connected'); req.session.email = formEmail; req.session.password = formPassword; console.log(req.session); res.status(200).send('User Authentified'); }else{ res.status(401).send('Invalid Password'); } }else{ res.status(401).send('Username'); } }); },

El inicio de sesión funciona. Obtengo el estado 200 y mi console.log en la función de inicio de sesión muestra una función con mi información. Pero cuando intento obtener mi sesión de la URL /getSessionInfos, está vacía... Envíe ayuda

about 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Sé que no preguntó esto, pero lo diré de cualquier manera, las sesiones ya no se recomiendan en el nodo, los tokens web json son prácticamente los que están en el trono. En esencia, es una pieza de datos firmada en formato JSON. Debido a que está firmado, el destinatario puede verificar su autenticidad. Debido a que es JSON, pesa muy poco.

En términos muy simples, JWT es genial porque no necesita mantener los datos de la sesión en el servidor para autenticar al usuario.

  • El usuario llama al servicio de autenticación, normalmente enviando nombre de usuario y contraseña.
    • El servicio de autenticación responde con un JWT firmado, que dice quién es el usuario.
    • El usuario solicita acceso a un servicio seguro devolviendo el token.
    • La capa de seguridad verifica la firma en el token y, si es genuino, se otorga el acceso.

Puede usar jwt-simple en npm.

about 4 years ago · Santiago Trujillo Report

0

Su código parece correcto solo algunos cambios

 app.use(session({ secret : 'yourSecret', resave : false, saveUninitialized : false, }));

No olvide iniciar sesión primero, ya que está almacenando el valor de la sesión allí y luego seguramente mostrará el objeto con la clave de correo electrónico y contraseña. Avísame si tienes algún problema.

about 4 years ago · Santiago Trujillo 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!