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(用户))” –