我發現done()
方法(或success()
,如告訴我的調試器)的第三個參數作爲被稱爲info
很好。任何人都可以告訴我什麼值得傳遞給它?Node.js + Passport:done()方法中第三個參數'info'會發生什麼?
編輯
的done()
方法,我指的是一個我們必須以戰略的回調調用。例如
var passport = require('passport')
, LocalStrategy = require('passport-local').Strategy;
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, { message: 'Incorrect username.' });
}
if (!user.validPassword(password)) {
return done(null, false, { message: 'Incorrect password.' });
}
return done(null, user);
});
}
));
該片段從here。正如可以看到的,在某些情況下,message
作爲第三個參數傳遞給對象done()
。我們如何以路線方式訪問此message
?
請出示一些示例代碼或爲我們指出了正確的方向。這有點含糊。另外,我看到你給它貼上了標籤,但你的問題從來沒有提到護照,所以我花了一段時間才意識到你在問什麼。 – loganfsmyth
感謝您指出@loganfsmyth!我已經更新了q,請告訴我是否需要更多解釋。 – craftsman
你能告訴你如何調用中間件嗎? – loganfsmyth