我有一个快速的应用程序,我试图添加护照本地猫鼬的用户,但每当我尝试创建一个用户,我得到一个错误说MissingUsernameError: No username was given
。护照本地猫鼬错误:没有用户名被给出
下面是相关代码:
用户模式:
var mongoose = require('mongoose');
var passportLocalMongoose = require('passport-local-mongoose');
var UserSchema = new mongoose.Schema({
username: String,
password: String,
});
UserSchema.plugin(passportLocalMongoose);
module.exports = mongoose.model("User", UserSchema);
register.ejs:
<div class="field">
<div class="two fields">
<div class="field">
<input type="text" name="email" value="<%= email %>">
</div>
<div class="field">
<input type="password" name="password" placeholder="password">
</div>
</div>
</div>
app.js:
var mongoose = require('mongoose'),
passport = require('passport'),
LocalStrategy = require('passport-local'),
User = require('./models/user'),
app.use(require('express-session')({
secret: 'very secret words',
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());
//New user creation
app.post('/newuser', function(req, res){
var newUser = new User({username: req.body.email});
console.log(newUser);
User.register(newUser, req.body.password, function(err, user){
if(err){
console.log('error registering user');
console.log(err);
return res.send('oops');
}
passport.authenticate('local')(req, res, function(){
res.redirect('/matches');
});
});
});
任何人都可以看到我错过了?谢谢! :)
我没有任何enctype = multipart/form-data和ahappens相同给我:( – Despertaweb
如果你仍然有麻烦发布一些代码,我会看看如果 –
我很好!刚刚解决了,现在thanx @Runny Yolk,我真的很感谢你的帮助:D 它调用了config.secrekey config.secret的instea,没有犯下错误:S – Despertaweb