0

我是nodejs的初学者,并尝试使用passport、passport-local-mongoose应用身份验证。我有一个注册页面,用户可以在其中输入邮件id和密码,然后单击注册按钮。当用户通过单击该按钮发出post请求时,我想将mailid和散列(使用lpassport-local-mongoose中的user.register方法生成)存储在mongoDB中。我正在使用passportlocal-mongoose进行此操作,然后希望在创建用户时没有错误时对用户进行身份验证。

app.post(“/register”,函数(req,res){const用户名=req.body.mailbox;User.register({username:username},req.body.passwordbox,function(err,User)){if(错误){console.log(错误);}其他{passport.authenticate(“local”,successRedirect:“/secrets”,failureRedirect:“/register”)(req,res);}})});

1答案1

重置为默认值
0

根据提供的上下文,您可以尝试以下代码:

app.post(“/register”,函数(req,res){const用户名=req.body.maild注册用户({username:username},req.body.password,function(err,User){if(!err){passport.authenticate(“本地”)(req,res,function(){res.redirect(“/secrets”);});} 其他{res.redirect(“/register”);}});});

使用passport.authenticate()方法对用户进行身份验证,如果身份验证成功,则提供回调函数重定向到机密页。如果在用户创建期间发生错误,我们将重定向到注册页面。

2
  • 我尝试过这样做,但它没有将我重定向到“/secrets”页面,而是显示了错误的请求。 评论 2023年1月30日11:26
  • 那么您需要检查您的express配置 评论 2023年1月31日0:06

你的答案

单击“发布您的答案”,表示您同意我们的服务条款并确认您已阅读我们的隐私政策.

不是你想要的答案吗?浏览标记的其他问题问你自己的问题.