Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – passportjs错误回调抛出异常大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用带有MysqL(带有sequelizE)的LocalStrategy,除非MysqL抛出异常(只是为了测试,我关闭MysqL服务器).返回完成(错误)回调抛出异常崩溃服务器.

@H_502_8@

这是我的一段代码:@H_502_8@

@H_502_8@

passport.use(new LocalStrategy({usernameField: 'email',passwordField: 'password'},function (email,password,donE) {
        db.User.find({where: {email: email}}).done(function (error,user) {
            if(error) return done(error);

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

            //validate password
            if (user.password != password) {
                return done(null,{message: 'invalid password'});
            }
            //all ok
            return done(null,user);
        });
    }
));

例外情况:@H_502_8@

@H_502_8@

TypeError: Property 'next' of object #<Context> is not a function
    at Context.actions.error

我究竟做错了什么?谢谢!@H_502_8@

编辑:@H_502_8@

@H_502_8@

req._passport.instance.authenticate('local',function (err,user,info) {
        if (err) return validator.emit('exception',err);

        if (!user) {
            validator.result.errors.push('Username and password combination not found.');
            validator.emit('response');
        } else {
            req.login(user,function (error) {
                if (error) return validator.emit('exception',error);

                validator.emit('response');
            });
        }
    })(req,res);

解决方法

好傻我,我最后错过了下一个

@H_502_8@

@H_502_8@

req._passport.instance.authenticate('local',info) {
.....
})(req,res,next);

大佬总结

以上是大佬教程为你收集整理的node.js – passportjs错误回调抛出异常全部内容,希望文章能够帮你解决node.js – passportjs错误回调抛出异常所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。