【发布时间】:2021-02-04 03:51:13
【问题描述】:
当我注册用户时,它成功保存到数据库中,但是当我对用户进行身份验证时,它给了我 400 (Bad Request) 错误
在此我使用 passport.js、passport-local、passport-local-mongoose 进行身份验证
这是我的代码:
mongoose.connect("mongodb://localhost:27017/logindb", {useNewUrlParser: true});
const userSchema = new mongoose.Schema({
username: String,
password: String
});
userSchema.plugin(passportLocalMongoose);
const User = mongoose.model('User', userSchema);
passport.use(User.createStrategy());
serializeUser 和 deserializeUser 的代码:
passport.serializeUser(User.serializeUser());
passport.deserializeUser(User.deserializeUser());
这是我注册用户和验证用户的代码:
app.post('/register', function(req, res){
User.register({username: req.body.email}, req.body.password, function(err, user) {
if (err) {console.log(err); res.redirect('/'); }
else{
passport.authenticate('local')(req, res, function(){
res.redirect('/home')
})
res.redirect('login')
}
});
})
【问题讨论】:
标签: javascript node.js mongodb mongoose passport.js