2013-01-07 3 views

risposta

61

Sebbene non sia stato documentato in modo esplicito da nessuna parte, è possibile vedere dove sono impostati i flag isAuthenticated e isUnauthenticated nel codice Passport a https://github.com/jaredhanson/passport/blob/a892b9dc54dce34b7170ad5d73d8ccfba87f4fcf/lib/passport/http/request.js#L74.

ensureAuthenticated non è ufficiale, ma può essere implementato tramite il seguente:

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

L'esempio di cui sopra ha un paio di questioni. La riga 3 dovrebbe essere 'if (req.isAuthenticated())' e la riga 9 dovrebbe essere '..., ensureAuthenticated, ... 'Leggi il seguente per un esempio migliore. https://github.com/jaredhanson/passport-local/blob/master/examples/express3-mongoose/app.js – chris

+1

@chris Grazie per la nota - Ho corretto i problemi sopra. –

+1

Ho dovuto scrivere "return next()" perché funzioni. – Elisabeth