44

私はしばらく探していましたが、決定的なドキュメントソースを見つけることができません。これらを検索すると、最初のGoogleの結果はStackOverflowになります。

これに似たミドルウェア機能は他にありますか?

4

2 に答える 2

66

簡単に見つけられる場所には明示的に文書化されていませんが、https://github.com/jaredhanson/passport/blob/a892b9dc54dce34b7170ad5d73d8ccfba87f4fcf/lib/passport/http/request.js#L74でパスポートコードのどこにフラグが設定されているisAuthenticatedかを確認できます。 。isUnauthenticated

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
});
于 2013-01-13T07:53:27.237 に答える
0

falseを返す理由は、主にルート定義の下で宣言されているためです。私は他のファイルでそれをしているので、私はそれをこのように使用します

//auth check
function auth(req,res,next){
    if(req.isAuthenticated()){
        next();
    } 
    else{
        res.redirect("/fail");}
}

//routes
require("./routes/myroute")(app,auth);
于 2019-05-14T12:38:50.510 に答える