私はパスポートを使用してAPIを保護しています。 私はエラーの場合にカスタムメッセージを返信する方法を理解するのに苦労しています。私はここで答えを見つけることを望んでいます。ここでパスポートを使用しているカスタムエラーメッセージベアラ
は私がやったことです:
ルート(server.js):
router.route('/Applications').get(authController.BearerAuthenticated, applicationController.getApplications);
私のパスポートスタッフ(authController.js):
Passport.use(new BearerStrategy(function(token, cb) {
Token.findOne({token: token}, function(err, token){
if (err){return cb(null, false);}
if (!token) { return cb(null, false); }
return cb(null, token);
});
}));
exports.BearerAuthenticated = Passport.authenticate('bearer', {session: false});
私の申し込み方法(応用.js)
exports.getApplications = function(req, res) {
Application.find({userId:req.user._id}, function(err, apps) {
if (err)
res.send(err);
res.json(apps);
});
};
トークンが有効でベアラメソッドが返された場合
return cb(null, token);
次に、私はgetApplicationsメソッドを入力できます。それは理にかなっている。
トークンが有効でない場合、私はメソッドを入力しません(意味があります)が、次のメッセージの代わりにカスタムメッセージをクライアントに返す方法を見つけることができませんデフォルトでは適切にユーザーが自分のトークンが死んでいるか、単に存在しないことを知らせるためにエラーコードでJSONを返すための方法だろう何
Unauthorized
?
ありがとうございました。 :)