2017-10-25 24 views
0

これは初めてのpassport-jwtの経験です。私は戦略を構成し、すべて正常に動作します。私はクライアントにトークンを送り、fromAuthHeaderAsBearerToken()メソッドでヘッダからそれを抽出します。しかし、私は1つの問題がある、Authorizationヘッダーが空であるか、または設定されていない場合に備えて、特定のページをレンダリングしたい。どうすればいいのですか?failureRedirect: '/ specific-page'プロパティを設定する以外はどうしたらいいですか?Passport jwtとres.render

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); 
}); 

}あなたは、あなたがこれにレンダリングすることができmyfile.ejsと呼ばれるあなたの意見ディレクトリ内のテンプレートがあるとしres.render('path_to_template') を使用して特定のテンプレートをレンダリングすることができます

答えて

0

戦略のコード

はかなり標準です res.render('myfile')

res.redirect('/route');

を使用して別のルートにユーザーをリダイレクトすることもできます
+0

ありがとうございます。私はpugを使用し、私は私のビューディレクトリにspecificPageテンプレートを持っています。しかし、問題は私がいつもUnauthorizedページを持っているということです。この場合、何らかの理由でres.render()が動作しないようです。私は理由を理解したい。 –