我已经设置 JwtStrategy 来验证我的 api 端点。如您所见,如果您在 catch 块上控制台错误,我会抛出自定义JWTExpired
错误jwtPayload.expires > Date.now()
,它会,然后代码将再次抛出相同的错误并使应用程序崩溃。我使用了相同的结构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);
}
}
)
);