Estoy tratando de implementar la autenticación en mi API usando pasaporte.js con la estrategia pasaporte_jwt. el código se adjunta a continuación
const JwtStrategy = require('passport-jwt').Strategy, ExtractJwt = require('passport-jwt').ExtractJwt; const opts = {} const User = require('../models/user_model') const dotenv = require('dotenv') module.exports = function(passport) { opts.jwtFromRequest = ExtractJwt.fromAuthHeaderAsBearerToken(); opts.secretOrKey = process.env.JWT_SECRET; passport.use(new JwtStrategy(opts, function(jwt_payload, done) { User.findById(jwt_payload._id, function(err, user) { if (err) { return done(err, false); } if (user) { return done(null, user); } else { return done(null, false); } }); })); }aquí le he pasado al usuario la función de hecho en la autenticación exitosa. Para mis rutas de publicación, utilicé pasaporte . autenticar como un middleware de ruta como se muestra a continuación.
app.use('/api/v1/posts', passport.authenticate('jwt', { session : false }), postRoutes)Ahora la pregunta es ¿cómo puedo acceder al usuario, previamente enviado en la función hecha, mientras se crean las rutas de publicación? Muchas gracias.
Puede acceder al usuario en su método postRoutes como código a continuación:
exports.postRoutes = async (req, res) => { console.log('req.user =====>', req.user); res.status(200).send({ user: req.user }) };