我正在创建一个这样的策略对象:
var strat = new LocalStrategy({
usernameField: 'email'
},
function(username, password, done) {
User.findOne({ email: username }, function (err, user) {
if (err) { return done(err); }
// Return if user not found in database
if (!user) {
return done(null, false, {
message: 'User not found'
});
}
// Return if password is wrong
if (!user.validPassword(password)) {
return done(null, false, {
message: 'Password is wrong'
});
}
// If credentials are correct, return the user object
return done(null, user);
});
}
);
在我的调试器中,我看到strat对象是Class“Strategy”的一个实例。
它不应该是“LocalStrategy”的实例,因为它是通过LocalStrategy conscructor创建的吗?
答案 0 :(得分:1)
以下是使用本地策略设置passportjs的正常代码示例
$(document).ready()
如您所见,策略是导出符号的名称和the name of the strategy constructor。 var LocalStrategy = require('passport-local').Strategy;
只是您正在使用的局部变量的名称。