You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

90 lines
2.1 KiB

/*
script to reset password for a user
*/
var config = require('./config');
var jwt = require('jsonwebtoken'); // used to create, sign, and verify tokens
var crypto = require('crypto');
var mongoose = require('mongoose');
mongoose.Promise = global.Promise;
// Connection to DB
mongoose.connect(config.database, function(err, res) {
if (err) {
console.log(err);
};
console.log('Connected to Database');
});
var userMdl = require('./models/userModel');
var userModel = mongoose.model('userModel');
var readlineSync = require('readline-sync');
console.log("Welcome to Common Routes");
console.log("----------");
console.log("This is the resetPassword.js");
var username = readlineSync.question('Enter the username: ');
if ((username == "")) {
console.log("username can't be empty");
process.exit(0);
}
console.log('Hi ' + username + '!');
var clearPassword = readlineSync.question('Enter the new password: ', {
hideEchoBack: true // The typed text on screen is hidden by `*` (default).
});
var clearPassword2 = readlineSync.question('Enter the new password again: ', {
hideEchoBack: true // The typed text on screen is hidden by `*` (default).
});
if (clearPassword != clearPassword2) {
console.log("passwords don't match");
process.exit(0);
}
if (clearPassword == "undefined") {
console.log("Password can't be empty");
process.exit(0);
}
/*if (clearPassword.length < 10) {
console.log("Please, choose a password with more than 10 characters");
process.exit(0);
}*/
var newPassword = crypto.createHash('sha256').update(clearPassword).digest('base64')
console.log(newPassword);
userModel.findOne({
username: username
})
.select('+password')
.exec(function(err, user) {
if (err) {
console.log(err);
process.exit(0);
}
console.log(user);
if (!user) {
console.log("user not found");
process.exit(0);
} else if (user) {
user.password = newPassword;
user.save(function(err, user) {
if (err) {
console.log(err);
process.exit(0);
}
console.log("password successfully changed");
process.exit(0);
});
}
});