0
我試圖用passport-local
如下:類型錯誤:對象#<Strategy>有沒有方法 'findByUsername'
users.js:
var Users = function() {}
Users.prototype.findByUsername = function(username, cb) {
var user = { name: username };
cb(null, user);
};
Users.prototype.verify = function(username, password, done) {
this.findByUsername(username, function(err, user) {
done(null, user);
});
};
module.exports = Users;
在app.js:
var Users = require('./users');
var users = new Users();
passport.use(new LocalStrategy(users.verify));
當我嘗試登錄時,我得到TypeError: Object #<Strategy> has no method 'findByUsername'
。
我是新來的Javascript(和node.js),但我做了一些搜索,我想我正確使用構造函數模式。
那麼爲什麼this
設置爲Strategy
的實例,而不是Users
的實例?
與解決它的 「新LocalStrategy(users.verify.bind(用戶))」 –