首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用passport & passport-local创建新用户后无法登录

使用passport & passport-local创建新用户后无法登录
EN

Stack Overflow用户
提问于 2019-11-17 11:50:29
回答 1查看 24关注 0票数 0

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

我的用户模型

代码语言:javascript
复制
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);

我的passport配置:

代码语言:javascript
复制
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

注册逻辑:

代码语言:javascript
复制
//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");
    });
  });
});

登录逻辑:

代码语言:javascript
复制
app.post("/login", passport.authenticate("local",
  {
    successRedirect: "/",
    failureRedirect: "/login"
  }), function(req, res){
});
EN

回答 1

Stack Overflow用户

发布于 2019-11-17 12:32:23

已修复。

问题出在表单的POST日志中。我没有这个字段的“名字”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58897335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档