2016-04-21 7 views
4

Ich arbeite an einem Knoten + pass.js Authentifizierung. Ich mache eine einfache Login/Anmelde-App. Es funktioniert gut, aber es speichert nur Benutzername und Passwort.Wie kann ich andere Formularfelder mit pass-local.js speichern

Wie kann ich die anderen Formularfelder wie Telefonnummer, E-Mail, Hobbys, Geschlecht in der Datenbank über eine signup.html Seite mit funktionierender Login-Pass-Authentifizierung speichern? Kann jemand dafür haben Lösung so alle Felder in der Datenbank, die ich speichern kann ....

//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; 

In diesem Code I-Schema von E-Mail, Benutzername, Passwort, Geschlecht Telefon und auch gegeben Felder in signup.html verwenden Seite. aber es speichert nur Benutzername und Passwort Felder nur .........

Antwort

0

option passReqToCallback hinzufügen und Sie können alle Anfrage Körperdaten von req.body Zugang:

passport.use(new LocalStrategy({ 
    passReqToCallback: true 
}, function (req, username, password, cb) { 
    // Form fields are in req.body if using body-parser 
    // ... 
}); 
5

öffnen passport.js Datei (Gernally innen Konfigurationsordner)

finden Sie diese Codezeile.

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 

})); 
Verwandte Themen