0
試圖瞭解 https://github.com/jaredhanson/passport/blob/master/lib/middleware/authenticate.js,在第57行不合邏輯的Passport身份驗證方法的參數
我不明白爲什麼護照身份驗證方法有4個參數:
module.exports = function authenticate(passport, name, options, callback){/*code*/}
在實踐中它的使用是這樣的:
passport.authenticate('local', { successRedirect: '/', failureRedirect: '/login' });
或
passport.authenticate('local', function(req, res));
那麼在方法定義中第一個參數「護照」怎麼不會干擾呢?由於策略名稱是作爲第一個參數傳遞的,因此它應該映射到passport而不是名稱。
如果這是Python,我會告訴你第一個參數從表達式'passport.authenticate'接收到對象'passport'。 Javascript通常不會那樣工作,但我不會驚訝地發現有人找到了一種方法來使它以這種方式工作。 – zwol