javascript node.js express callback passport.js

javascript - ¿Qué es la función de devolución de llamada "hecha" en la estrategia de pasaporte Configurar la función "usar"



node.js express (1)

done es un método llamado internamente por la implementación de la estrategia .

Luego lo lleva, como puede ver, a uno de los métodos de success / error / fail (nuevamente, por la implementación, hay más opciones ). Cada una de estas opciones puede calls a la next , donde en su código de fragmento de código está la siguiente:

function(req, res) { res.redirect(''/''); });

Cuando se llama al success , puede adjuntar al usuario a la solicitud o hacer otras cosas, según sus necesidades (busca las options que pasa a passport.authenticate ). Si desea determinar cuándo se llamará a la next , debe usar la custom callback que le da más flexibilidad.

Recomiendo encarecidamente que lea la fuente.

Soy un node.js y express.js noob. Esta pregunta puede parecer tonta pero estoy realmente en confusión.

Estoy tratando de configurar la autenticación de Estrategias Locales usando el passport . Como se muestra en la documentación oficial, podemos calcular esta estrategia local mediante el siguiente código:

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

Mi confusión es sobre la función de devolución de llamada done . Cuando los documentos oficiales muestran esta estrategia local utilizando un middleware en el controlador de ruta, no es necesario pasar el parámetro de función para esta devolución de llamada done .

app.post(''/login'', passport.authenticate(''local''), function(req, res) { res.redirect(''/''); });

Entonces, ¿esta función de devolución de llamada no será nula si no proporcionamos el parámetro de función? Si no, ¿qué es esa función de devolución de llamada done y qué procesos ocurrirán en esta función de devolución de llamada done ?