В чем разница между использованием passport-jwt и общей функции промежуточного программного обеспечения? - PullRequest
0 голосов
/ 16 апреля 2019

в чем именно разница между чем-то вроде этого

exports.loginRequired = function(req, res, next) {
 try {
   const token = req.headers.authorization.split(" ")[1];
   jwt.verify(token, secretKey, function(err, decoded) {
     if (decoded) {
       next();
     } else {
       return next({
         status: 401,
         message: "Please login first"
       });
     }
   });
 } catch (err) {
   return next({
     status: 401,
     message: "Please login first"
   });
 }
};

и passport-jwt, подобным этому

const opts = {};
opts.jwtFromRequest = ExtractJwt.fromAuthHeaderAsBearerToken();
opts.secretKey = secretKey;

module.exports = () => {
  passport.use(
    new JwtStrategy(opts, (jwt_payload, done) => {
      User.findById(jwt_payload).catch(err => console.log(err).then(user => (user ? done(null,user) : done(null, false))));
    })
  );
};

, чтобы сделать то же самое, а затем в конечном итоге отправить обратно информацию пользователя

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...