我有一個快速的應用程序,我試圖添加護照本地貓鼬的用戶,但每當我嘗試創建一個用戶,我得到一個錯誤說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