私はしばらく探していましたが、決定的なドキュメントソースを見つけることができません。これらを検索すると、最初のGoogle結果はStackOverflowになります。
これに似たミドルウェア機能は他にありますか?
簡単に見つけられる場所には明示的に文書化されていませんが、 https://github.com/のPassportコードでisAuthenticated
およびisUnauthenticated
フラグが設定されている場所を確認できます。 jaredhanson/passport/blob/a892b9dc54dce34b7170ad5d73d8ccfba87f4fcf/lib/passport/http/request.js#L74 。
ensureAuthenticated
は公式ではありませんが、次の方法で実装できます。
function ensureAuthenticated(req, res, next) {
if (req.isAuthenticated())
return next();
else
// Return error content: res.jsonp(...) or redirect: res.redirect('/login')
}
app.get('/account', ensureAuthenticated, function(req, res) {
// Do something with user via req.user
});
falseを返す理由は、ルート定義の下で宣言されているためです。私は他のファイルでそれをやっているので、このように使用します
//auth check
function auth(req,res,next){
if(req.isAuthenticated()){
next();
}
else{
res.redirect("/fail");}
}
//routes
require("./routes/myroute")(app,auth);