Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

278
Visualizações
NodeJS express: ¿cómo agregar datos de sesión dentro del enrutador?

Necesito agregar un enrutador expreso de datos de sesión (usando sesión expresa y pasaporte).

Almaceno los datos correctamente en el registro de usuario en DB (mongo) e intento establecer el valor en los datos de la sesión:

 req.user.myData = "my session data";

Desafortunadamente, los datos del usuario se serializan solo durante la autorización del usuario a través del pasaporte. Entonces "myData" no se almacena en la sesión actual. Cuando se inicia una nueva sesión de usuario, los datos se cargan correctamente desde la base de datos y están disponibles.

¿Hay alguna forma (eso espero) de hacer que los datos estén disponibles en la sesión actual?

about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

La mayoría de estas cosas en el mundo de ExpressJS se hacen usando middlewares:

1) cree un archivo js en la carpeta de middlewares : populateUserData.js :

 'use strict'; module.exports = (req, res, next) => { if(!req.user) req.user = {}; req.user.someData = 'something'; next(); }

2.1) adjuntarlo después del pasaporte:

 app.use(passport.initialize()); app.use(passport.session()); app.use(require('./middlewares/populateUserData'));

o

2.2) adjuntarlo a una ruta específica:

 const populateUserData = require('./middlewares/populateUserData'); route.get('/api/users/me', passport.authenticate('basic', { session: false }), populateUserData, (req, res) => { res.json({ id: req.user.id, username: req.user.username }); });

o

2.3) en grupo de rutas:

 app.use('/api/users', passport.authenticate('basic', { session: false }), require('./middlewares/populateUserData'), require('./routes/api/users'));

también puede crear sus propios middlewares que serían útiles,

por ejemplo: https://github.com/num8er/alttab-nodejs-challenge/blob/master/app.js#L19

about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda