将自定义变量公开给Passport LocalStrategy

时间:2013-12-05 16:25:30

标签: node.js passport.js

我目前有一个localStrategy,通过他的电子邮件地址和密码对用户进行身份验证。

我的应用程序是一个多域应用程序。所以我想将req.host添加到localStrategy。知道怎么做吗?

passport.use(new LocalStrategy({
        usernameField: 'email',
        passwordField: 'password'
    },
    function(email, password, done) {
        // TODO: Should have req.host here, but how?
        User.findOne({email: email, deleted_at: null}, function(err, user) {
            if (err)
                return done(err);

            if (!user)
                return done(null, false, {
                    message: 'Unknown user'
                });

            if (!user.authenticate(password))
                return done(null, false, {
                    message: 'Invalid password'
                });

            return done(null, user);
        });
    }
));

我可以检查回调中的req.host,但它对我的应用程序无效(因为我需要在User.findOne()方法中包含req.host)。 感谢。

0 个答案:

没有答案