Sono un nodo.js e un express.js noob. Questa domanda potrebbe sembrare sciocca, ma sono davvero in confusione.Che cos'è la funzione di callback "done" in Passport Strategy Configura la funzione "use"
Sto tentando di configurare l'autenticazione Local Strategry utilizzando passport. Come mostrato nella documentazione ufficiale, siamo in grado di capire questa strategia locale dal seguente codice,
passport.use(new LocalStrategy(
function(username, password, done) {
User.findOne({ username: username }, function (err, user) {
if (err) { return done(err); }
if (!user) { return done(null, false); }
if (!user.verifyPassword(password)) { return done(null, false); }
return done(null, user);
});
}
));
La mia confusione è sulla funzione di callback done
. Quando i documenti ufficiali mostrano questa strategia locale che utilizza come middleware nel gestore di instradamento, non è necessario passare il parametro di funzione per questo callback done
.
app.post('/login',
passport.authenticate('local'),
function(req, res) {
res.redirect('/');
});
Quindi, non è questa funzione di callback done
sarà nullo se non forniamo il parametro della funzione? In caso contrario, cos'è la funzione di richiamata done
e quali processi si verificheranno in questa funzione di callback done
?
Grazie per la risposta. Dopo poche ore ho fatto questa domanda, gradualmente capisco che "fatto" potrebbe essere gestito internamente dal passaporto. Ora ho capito quando vedo la tua risposta. La documentazione del passportjs –
necessita di miglioramenti significativi – Internial