1
我不明白這個例子Passport自定義回調如何工作?
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);
});
我所看到的發生在這裏是
app.get('path', function(req, res, next) {/*bunch of code*/})(req, res, next)
怎能因爲這項工作是不是對函數的引用,被放在後面(REQ,RES , 下一個) ?
非常感謝! – Lev
但官方的自定義回調示例指出,在使用自定義回調時,必須手動調用'req.login'。我仍然不清楚爲什麼會出現這種情況,因爲當我測試它時,我的'req.logIn'函數中沒有代碼被執行。我很想看到一個使用本地策略和自定義回調的工作示例的樣板。 – nextgentech