Я новичок в passportJS, и хочу, чтобы понять этот код:passportjs обратного вызова код поток
app.get('/login', function(req, res, next) {
passport.authenticate('local', function(err, user, info) {
if (err) { return next(err); }
if (!user) { return res.redirect('/login'); }
req.logIn(user, function(err) {
if (err) { return next(err); }
return res.redirect('/users/' + user.username);
});
})(req, res, next);
});
Может кто-нибудь объяснить мне поток этого кода? и что (req, res, next);
делать в конце pass.authenticate функции?
Я уже читал this вопрос тоже, но все равно не понимаю.
Ну, он обрабатывает маршрутизацию для «входа» и пытается аутентифицироваться на локальном уровне, и если он сталкивается с любой ошибкой, он отображает то же самое, если пользователь не аутентифицирован, перенаправляет его на логин, иначе он будет перенаправить на страницу \ \ users \ route. '(Req, res, next)' фактически являются значениями, которые вы передаете аргументам функции. –
«(req, res, next) на самом деле являются значениями, которые вы передаете аргументам функции». Извините, какая функция вы имеете в виду? – Kim
Итак, (req, res, next); содержит логические обратные вызовы? Если это правильно, то какая функция (req, res, next) связана с функцией pass.authenticate? – Kim