程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Passport + Node.js /添加用户后自动登录大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Passport + Node.js /添加用户后自动登录?

开发过程中遇到Passport + Node.js /添加用户后自动登录的问题如何解决?下面主要结合日常开发的经验,给出你关于Passport + Node.js /添加用户后自动登录的解决方法建议,希望对你解决Passport + Node.js /添加用户后自动登录有所启发或帮助;

应该看起来像这样

app.post('/sign', function(req, res){
    authprovIDer.saveUser(...do stuff), function(error, user){
        if(error){
            res.redirect('/sign');
        } else {
            passport.authenticate('local')(req, res, function () {
                res.redirect('/account');
            })
        }
    });
});

我不确定策略的名称,但是默认情况下LocalStrategy应该提供“本地”名称

http://passportjs.org/guide/authenticate/

解决方法

我正在使用护照进行身份验证和会话处理。到目前为止一切正常。我实现了“登录”表单,以将新用户添加到该应用中。添加用户后,我想自动登录。

实现此目的的最佳方法是什么-@R_312_10675@用用户凭据重定向到“ /登录”,还是有另一种/更好的方法(调用serializeUser)来做到这一点?

到目前为止,我认为我还不太了解“ done”功能(在serializeUser和LocalStrategy中)的工作方式或工作方式&Hellip;

这是我的代码:

passport.serializeUser(function(user,donE) {
    done(null,user._id);
});
passport.deserializeUser(function(id,donE) {
    authprovider.findUserById('users',id,function (err,user) {
        done(err,user);
    });
});

passport.use(new LocalStrategy( function(email,password,donE) {
    authprovider.getUserByEmail('users',email,function(error,user){
        if(error) { return done(error); }
        if (!user) { return done(null,false,{ message: 'Unknown user ' + email });}   
        if (user.password != password) { return done(null,falsE);}
        return done(null,user);
        });
    }
));

app.post('/login',passport.authenticate('local',{ failureRedirect: '/login'}),function(req,res) { res.redirect('/');});

app.post('/sign',res){
    authprovider.saveUser(...do stuff),user){
        if(error){
            res.redirect('/sign');
        } else {
            res.redirect('/');
        }
    });
});

有人知道该怎么做吗?

大佬总结

以上是大佬教程为你收集整理的Passport + Node.js /添加用户后自动登录全部内容,希望文章能够帮你解决Passport + Node.js /添加用户后自动登录所遇到的程序开发问题。

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

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