【问题标题】:node.js passport local strategy problemsnode.js 护照本地策略问题
【发布时间】:2014-03-16 17:41:41
【问题描述】:

我是 node.js 的新手,尤其是护照。 我已经在一个文件中单独公开了一个护照配置,如下所示:

var LocalStrategy = require('passport-local').Strategy;
var User = require('../models/User');

var messages = {
    100: 'Username and/or password are not correct.',
    101: 'User already exists.'
};

module.exports = function (passport) {

passport.serializeUser(function (user, done) {
    done(null, user._id);
});

passport.deserializeUser(function (id, done) {
    User.findById(id, function (err, user) {
        done(err, user);
    });
});

passport.use('local-login', new LocalStrategy(function (username, password, done) {

    User.findOne({ username: username }, function (err, user) {
        if (err) {
            return done(err);
        }
        if (!user) {
            return done(null, false, req.flash('loginMessage', messages['100']));
        }
        user.comparePassword(password, function (err, isMatch) {
            if (err) {
                return done(err);
            }
            if (isMatch) {
                return done(null, user);
            } else {
                return done(null, false, req.flash('loginMessage', messages['100']));
            }
        });
    });
}));}

在我的节点路由中,我正在执行以下操作来处理登录场景:

app.post('/login',function(req, res, next){
    console.log('loggin in ')
    passport.authenticate('local-login', function(err, user, info){
        console.log('allo');
        console.log(err);
        console.log(user);
        console.log(info)
    });
});

但是我没有得到回复;你能澄清一下我做错了什么吗?

【问题讨论】:

  • 您没有收到回复,但是您收到了什么样的消息?更多信息将帮助我知道从哪里开始寻找。此外,将 express 记录器添加到您的服务器,这样您就可以看到正在请求的路由类型和 HTTP 状态代码。

标签: javascript node.js authentication passport.js


【解决方案1】:

您需要return object returned by passport.authenticate

app.post('/login',function(req, res, next){ console.log('登录') /**/return passport.authenticate('local-login', function(err, user, info){ console.log('allo'); 控制台日志(错误); 控制台.log(用户); 控制台日志(信息) })(req, res, next); });

【讨论】:

    猜你喜欢
    • 2019-08-12
    • 2012-06-09
    • 2015-03-20
    • 2019-04-12
    • 2016-05-29
    • 2016-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多