Passport LocalStrategy不一致的类名

时间:2016-09-28 20:23:38

标签: javascript node.js express passport.js

我正在创建一个这样的策略对象:

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”的一个实例。

enter image description here

它不应该是“LocalStrategy”的实例,因为它是通过LocalStrategy conscructor创建的吗?

1 个答案:

答案 0 :(得分:1)

以下是使用本地策略设置passportjs的正常代码示例

$(document).ready()

如您所见,策略是导出符号的名称和the name of the strategy constructorvar LocalStrategy = require('passport-local').Strategy; 只是您正在使用的局部变量的名称。