这是我第一次使用passport-jwt。我配置了策略,一切正常。我将令牌发送到客户端并使用fromAuthHeaderAsBearerToken()方法从头中提取它。但我遇到了一个问题,如果Authorization标头为空或未设置,我想呈现一个特定页面。我怎么能这样做,除了设置failureRedirect:'/ specific-page'属性?
策略代码非常标准:
JwtStrategy(jwtOptions, (payload, done) => {
User.findOne({fmn_id: payload.data.id})
.then( (obj) => {
if(!obj) throw new Error('No user with such id');
done(null, obj);
})
.catch( (err) => {
res.render('specificPage'); //In case of error I want to render this page. Current code doesn't work.
done(null, err);
});
}
答案 0 :(得分:0)
您可以使用res.render('path_to_template')
呈现特定模板
假设您的视图目录中有一个名为myfile.ejs
的模板,那么您可以通过res.render('myfile')
或者您也可以使用res.redirect('/route');