微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何修复护照认证引起的错误

如何解决如何修复护照认证引起的错误

我一直在试图弄清为什么每次尝试登录时始终出现浏览器上显示错误 localhost未发送任何数据的原因 使用注册用户名和密码。拜托,可能是这个问题的原因?

设置护照

const passport = require("passport");
const localStrategy = require("passport-local").Strategy;
const { Passport } = require("passport/lib");

模式文件内容

const mongoose = require("mongoose");
const passportLocalMongoose = require("passport-local-mongoose");

const userSchema = mongoose.Schema({
   username: {
        type: String,required: true
    },password: String,});
userSchema.plugin(passportLocalMongoose);

const User = mongoose.model("User",userSchema);
module.exports = User;

护照配置

router.use(require("express-session")({
    secret: "It's all about coding!",resave: false,saveUninitialized: false
}));
router.use(passport.initialize());
router.use(passport.session());
passport.use(new localStrategy(User.authenticate()));
passport.serializeUser(User.serializeUser());
passport.deserializeUser(User.deserializeUser());

注册路线

router.get("/register",async(req,res)=>{
   res.render("register");
})

router.post("/register",async (req,res)=>{
   req.body.username
   req.body.password
   var newUser = new User ({username: req.body.username})
   User.register(newUser,req.body.password,(err,user)=>{
      if(err){
         console.log(err)
         return res.render("register")
      }
      passport.authenticate("local")(req,res,()=>{
         res.redirect("login");
      })
   })
})

登录路线:

router.get("/login",(req,res)=>{
    res.render("login");
})

router.post("/login",passport.authenticate("local",{
    successRedirect: "new",failureRedirect: "login"
})

我应该重定向到的页面的路由是:

router.get("/new",isLoggedIn,res) => {
    console.log(req.params)
    res.render("new",{post: new Post()});
})

解决方法

router.post("/register",async (req,res)=>{
   User.register(username: req.body.username,req.body.password,(err,user)=>{
      if(err){
         console.log(err)
         return res.render("register")
      }
      passport.authenticate("local")(req,res,()=>{
         res.redirect("/login");
      })
   })
})

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。