Пытаясь понять https://github.com/jaredhanson/passport/blob/master/lib/middleware/authenticate.js, в строке 57.нелогичные аргументы метода Passport AUTHENTICATE
Я не понимаю, почему метод паспорт Аутентифицировать имеет 4 аргумента:
module.exports = function authenticate(passport, name, options, callback){/*code*/}
На практике используется так:
passport.authenticate('local', { successRedirect: '/', failureRedirect: '/login' });
или
passport.authenticate('local', function(req, res));
Итак, почему первый аргумент «паспорт» в определении метода не мешает? Поскольку имя стратегии передается в качестве первого аргумента, оно должно быть отображено в паспорт, чтобы он не назывался.
Если бы это был Python, я бы сказал вам, что первый аргумент получает объект «паспорт» из выражения «pass.authenticate». Javascript обычно не работает таким образом, но я не удивлюсь, узнав, что кто-то нашел способ * сделать *, он работает таким образом. – zwol