使用护照和本地护照创建新用户后无法登录

我正在使用express,创建新用户后似乎无法登录。我检查数据库。用户名已注册。但是,当我尝试登录该帐户时,没有任何反应。它一直将我重定向到登录页面。有人可以告诉我我哪里出错了吗?

我的用户模型

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

var UserSchema = new mongoose.Schema({
    username: String,password: String
});

// var UserSchema = new mongoose.Schema({
//     username: String,//     password: String,//     email: String,//     firstName: String,//     lastName: String,//     motive: String,//     level: {type: Number,default: 0}
// });

UserSchema.plugin(passportLocalMongoose);

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

我的护照配置:

app.use(require("express-session")({
  secret: "lena paul is the best",resave: false,saveUninitialized: false
}));

app.use(passport.initialize());
app.use(passport.session());
passport.use(new LocalStrategy(User.authenticate()));
passport.serializeuser(User.serializeuser());
passport.deserializeuser(User.deserializeuser());

app.use(bodyParser.urlencoded({ extended: true })); //save data submitted from form to req.body

注册逻辑:

//handles registration logic
app.post("/register",function(req,res){
  var newUser = new User({
    username:req.body.username
    // firstName:req.body.firstName,// lastName:req.body.lastName,// email:req.body.email,// motive:req.body.motive
  });
    User.register(newUser,req.body.password,function(err,newUser){
    if(err){
      console.log(err);
      return res.render("register");
    }
    passport.authenticate("local")(req,res,function(){
      res.redirect("/login");
    });
  });
});

登录逻辑:

app.post("/login",passport.authenticate("local",{
    successRedirect: "/",failureRedirect: "/login"
  }),res){
});
linlaiku 回答:使用护照和本地护照创建新用户后无法登录

已修复。

问题出在POST登录表单中。我没有该字段的“名称”。

本文链接:https://www.f2er.com/3087755.html

大家都在问