Не удается обработать ошибку, выданную в обратном вызове JWTStrategy
Я установил JwtStrategy для аутентификации моих конечных точек API. И как вы можете видеть, я бросаю обычай JWTExpired
ошибка, если jwtPayload.expires > Date.now()
Если вы укажете на ошибку в блоке catch, это произойдет, тогда код снова выдаст ту же ошибку и завершит работу приложения. Я использовал ту же структуру с LocalStrategy
бросить обычай PasswordNotMatch
ошибка, и это работает там довольно хорошо.
passport.use(
new JWTStrategy(
{
jwtFromRequest: req => {
return req.cookies.jwt;
},
secretOrKey: secret
},
(jwtPayload, done) => {
try {
if (jwtPayload.expires > Date.now()) {
return done(null, jwtPayload);
} else {
throw new JWTExpired();
}
} catch (error) {
console.log(error);
return done(error);
}
}
)
);
1 ответ
Я нашел это сам. Я не обрабатывал ошибки маршрутизации, поэтому по истечении срока действия JWT именно файл passport.js повторно выдавал ошибку, с которой я прошел done(error)
;