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

194
Visualizações
¿req.user vuelve como indefinido con Express y Passport?

Cuando mi aplicación se redirige a "/", req.user no está definido, pero en la devolución de llamada de Twitter, req.user me proporciona los datos que estoy buscando. Pierdo los datos en la redirección. Todavía hay información en req para "/" pero no req.user que necesito.

¿Alguien puede ayudarme a resolver este problema?

Este es mi index.js

 const express = require('express') const app = express() const cookieSession = require('cookie-session') const passport = require('passport'); require('./passport') const isLoggedIn = require('./Middleware/auth') app.use(cookieSession({ name: 'twitter-auth-session', keys: ['key1', 'key2'] })) app.use(passport.initialize()); app.use(passport.session()); app.get('/auth/error', (req, res) => res.send('Unknown Error')) //, isLoggedIn, app.get('/', (req,res)=>{ console.log('HELLOOOOO', req.user) res.send(`Hello`) }); app.get('/logout', (req, res) => { req.session = null; req.logout(); res.redirect('/'); }) app.get('/auth/twitter',passport.authenticate('twitter')); app.get('/auth/twitter/callback',passport.authenticate('twitter', { failureRedirect: '/auth/error' }), function(req, res) { // console.log("REQUEST", req.user) res.redirect('/'); }); app.listen(8000,()=>{ console.log('Server is up and running at the port 8000') })

Este es mi middleware de pasaporte.js:

 const passport = require('passport'); const TwitterStrategy = require('passport-twitter').Strategy; passport.serializeUser(function(user, done) { done(null, user); }); passport.deserializeUser(function(user, done) { done(null, user); }); passport.use(new TwitterStrategy({ consumerKey: "xxxxxxxxxxx", consumerSecret: "xxxxxxxxxxx", callbackURL: "http://www.localhost:8000/auth/twitter/callback", }, function(accessToken, refreshToken, profile, cb) { return cb(null, profile); }));
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Ok, después de algunas pruebas y muchos errores, el problema parecía estar en la forma en que estaba usando las sesiones o la biblioteca de sesiones de cookies.

Agregué la biblioteca

 const session = require('express-session')

Cambié

 app.use(cookieSession({ name: 'twitter-auth-session', keys: ['key1', 'key2'] }))

a

 app.use(session({ secret: 'secret' }))

Y eso parece haber arreglado las cosas, en caso de que todos estén viendo esta respuesta realmente oscura, jaja.

about 4 years ago · Juan Pablo Isaza 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