Подтвердить что ты не робот

Паспортные функции для документации "обеспечитьAuthentication" "isAuthenticated"?

Я искал какое-то время и не вижу, чтобы найти окончательный источник документации. Когда я их ищу, первые результаты Google относятся к StackOverflow.

Есть ли другие функции промежуточного программного обеспечения, подобные этому?

4b9b3361

Ответ 1

В то время как явным образом не документировано где-либо легко найти, вы можете видеть, где флаги isAuthenticated и isUnauthenticated установлены в паспортном коде https://github.com/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
});

Ответ 2

причина, по которой он возвращает false, в основном потому, что он объявлен ниже определения маршрута. я делаю это в другом файле, поэтому я использую это так

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

/////////////////routes
require("./routes/api")(app);
require("./routes/fail")(app);
require("./routes/signin")(app);
require("./routes/signup")(app,User);
require("./routes/doctorentry")(app,auth);