2016-04-19 2 views
1

Ich versuche, den Benutzernamen mit dem JavaScript-MD5-Plugin Hash und dann speichern Sie es in der Datenbank für die Verwendung mit Jdenticon. Ich bin in der Lage, das Passwort zu Hash-und loggen Sie es an die Konsole mit var hash = md5($scope.username);, aber ich bin nicht in der Lage, es an meine newUser Variable übergeben.Versuchen, hashed Benutzername in der Datenbank

  1. Registrierungskontroller

    $scope.register = function(){ 
    var hash = md5($scope.username); 
    console.log(hash); 
    var newUser = { 
        email: $scope.email, 
        password: $scope.password, 
        username: $scope.username, 
        userHash: hash 
    }; 
    
    $http.post('/users/register', newUser).then(function(){ 
        $scope.email = ''; 
        $scope.password = ''; 
        $scope.username = ''; 
        userHash = ''; 
    }; 
    
  2. Registrierung Route:

    app.post('/users/register', function(req, res) { 
    
        bcrypt.genSalt(10, function(err, salt) { 
        bcrypt.hash(req.body.password, salt, function(err, hash) { 
         var user = new User({ 
         email: req.body.email, 
         password: hash, 
         username: req.body.username, 
         userHash: req.body.userHash 
         }); 
         console.log(user); 
    
         user.save(function(err) { 
         if (err) return res.send(err); 
    
         return res.send(); 
         }); 
        }); 
        }); 
    }); 
    
+2

welcher Wert für 'req.body.userHash' in Server-Seite angezeigt? –

+0

Für den userHash wird kein Wert angezeigt. Gespeichert Testbenutzer: '{erstellt: Di 19. April 2016 15.37.25 GMT-0400 (Eastern Daylight Time), _id: 57168933dbe10f0c2860c180, Benutzername: 'grün', Passwort: '$ 2a $ 10 $ U4pqSpgjM74pqSpgjM7NwEj8BnR4I.uWlODNXyld2NHmj0iGBgcETawCCZkk0G' , E-Mail: '[email protected]'} ' –

+1

' userHash 'existiert in Ihrem' Benutzer' Modell? –

Antwort

1

Ich denke, man userHash Eigenschaft in Ihrem User Modell verpasst möglicherweise das ist, warum Sie nicht userHash speichern kann in Ihre Datenbank.

So sollten Sie zuerst userHash in Ihrem Modell User dann sollte gut funktionieren.

mag:

var mongoose = require('mongoose'), 
    Schema = mongoose.Schema; 

var UserSchema= new Schema({ 
    username : { 
     type: String, 
     required: true 
    }, 
    email: { 
     type: String 
    }, 
    password: { 
     type: String 
    }, 
    userHash:{ 
     type: String 
    } 
}); 
mongoose.model('User', UserSchema);