-1
var LocalStrategy = require('passport-local').Strategy;

// load up the user model
var User = require('../app/models/user');

// save the user
newUser.save(function(err) {
  if (err)
    throw err;
  return done(null, newUser);
});
Reza Saadati
  • 5,018
  • 4
  • 27
  • 64

1 Answers1

0

passport.use('local-update', new LocalStrategy({

    usernameField : 'email',

    passwordField : 'password',

    passReqToCallback : true //allowsustopassbacktheentirerequest to the 
},
function(req, email, password, done) { // callback with email and password 

    console.log("local-update") 

    // find a user whose email is the same as the forms email

console.log(req.user._id)

   //console.log(email) 

    // find a user whose email is the same as the forms email

    // we are checking to see if the user trying to login already exists 

            // if there is no user with that email

            // create the user

            var newUser = new User();

            // set the user's local credentials

            newUser.local.username    = req.user.local.username;

            newUser.local.email = email;

            newUser.local.password = newUser.generateHash(password);

            console.log(password)

            console.log(newUser)

            //console.log(newUser)

            // update the user

            newUser._id=req.user._id;

// if the user is found but the password is wrong

User.findOne({ _id: req.user._id},

function(err, user)

{

// if there are any errors, return the error before anything else  

if (err){

    return done(err); 

}

else {

// all is well, return successful user

console.log(password);


}

User.update( {_id: req.user._id}, newUser, {upsert: true}, function(err,user, numberAffected, rawResponse) {

                if (err){

                    console.log('new profile update error');

                return done(err);

                }

                 // all is well, return successful user

                 else

                 {
                   // if (User.setUser(newUser.local.password))

                    console.log('new profile update');

                    console.log(user);      

return done(null, newUser,req.flash('passMessage', 'Password Changed Successfully.'));

            }});

});

}));