похоже, что проблема возникает из вашего passport.js
вы использовали
ExtractJwt.fromAuthHeaderWithScheme('JWT') // this method no longer supports by the newer versions of the passport js
так что для вашей реализации js паспорта попробуйте это. Также обратите внимание, здесь дать чек
jwt_payload._id объект с вашей реализацией, потому что в паспортной js официальной документации их реализация не может дать вам этот идентификатор данных сеанса ..
User.getUserById (jwt_payload._id, (err, user) => {} // в этом коде отметьте вышеупомянутый
что касается второго шага, попробуйте это,
var opts = {};
opts.jwtFromRequest = ExtractJwt.fromAuthHeaderAsBearerToken();
opts.secretOrKey = config.secret;
// opts.issuer = config.issuer;
// opts.audience = config.audience;
passport.use(new JwtStrategy(opts,function(jwtPayload,done){
User.getUserById(jwtPayload.id,function(err,profile){
if(err){
return done(err,false);
}
if(profile){
return done(null,profile);
}else{
return done(null,false);
}
});
}));