我正在研究 node+passport.js 身份验证。我制作了一个简单的登录/注册应用程序。它工作正常,但是它只存储用户名和密码。
如何通过具有工作登录护照身份验证的 Signup.html 页面将其他表单字段(例如电话号码、电子邮件、爱好、性别)存储到数据库中?任何人都可以解决这个问题,以便我可以将所有字段存储在数据库中......
//my schema is :--
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var userSchema = mongoose.Schema({
local : {
username : String,
gender : String,
phone : String,
email : String,
password : String
}
});
userSchema.methods.generateHash = function(password) {
return bcrypt.hashSync(password, bcrypt.genSaltSync(8), null);
};
userSchema.methods.validPassword = function(password) {
return bcrypt.compareSync(password, this.local.password);
};
var User = mongoose.model('user', userSchema);
module.exports = User;
在此代码中,我使用电子邮件、用户名、密码、性别、电话的模式以及 signup.html 页面中的给定字段。但它只存储用户名和密码字段.........
打开 Passport.js 文件(通常在 config 文件夹内)
找到这行代码。
passport.use('local-signup', new LocalStrategy({ // 'login-signup' is optional here
usernameField : 'email',
passwordField : 'password',
passReqToCallback : true },function(req, email, password, done) {
var gender = req.body.gender;
var username = req.body.username;
var phone = req.body.phone;
// Now you can access gender username and phone
}));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)