示例#1
0
 postgresql.query("select * from users where LOWER("+options["email_key"]+") = $1 and disabled_at is null and deleted_at is null", [req.body.email.toLowerCase()], function (err, result) {
   if (result.rows.length == 1) {
     var user = result.rows[0];
     if (bcrypt.compare_sync(req.body.password, user.crypted_password)) {
       var pt = helpers.persistence_token();
       var now = new Date();
       var ipAddr = req.connection.remoteAddress;
       postgresql.query("update users set persistence_token = $1, current_login_at = $2, last_login_at = $3, last_login_ip = $4, current_login_ip = $5, login_count = $6 where id = $7;", [pt, now, user.current_login_at, user.current_login_ip, ipAddr,  (user.login_count || 0) + 1, user.id ], function (err, update_res) {
         if (!err) {
           req.session.pt = pt;
           if (req.session.previous_url) {
             var purl = req.session.previous_url;
             delete req.session.previous_url;
             res.redirect(purl);
           } else {
             res.redirect("/");
           }
         } else { 
           failed();
         }
       });
     } else {
       failed();
     }
   } else { 
     failed();
   }
 })
示例#2
0
文件: Blog.js 项目: IAbuElRuzz/nerve
 ibind(function(next) {
     if (this.password && password) {
         var passed = bcrypt.compare_sync(password, this.password);
         next(0, passed);
     } else {
         next(0, false);
     }
 }, cb, this)
示例#3
0
app.get("/", function(req, res) {
  var salt = bcrypt.gen_salt_sync(10);
  var hash = bcrypt.encrypt_sync("B4c0/\/", salt);
  if (bcrypt.compare_sync("B4c0/\/", hash))
    res.send("hello from express");
  else
    res.send("");
});
示例#4
0
 redis.hgetall(req.body.email, function (err, user) {
   if (!err && user.email == req.body.email) {
     if (bcrypt.compare_sync(req.body.password, user.encrypted_password)) {
       var pt = helpers.persistence_token();
       var now = +new Date();
       var ipAddr = req.connection.remoteAddress;
       redis.hmset(req.body.email, "persistence_token", pt, "current_login_at", ""+now, "last_login_at", user.current_login_at, "last_login_ip", user.current_login_ip, "current_login_ip", ipAddr, function (err) {
         req.session.pt = req.body.email+":"+pt;
         res.redirect("/");
       });
     } else {
       res.render(__dirname+"/views/authenticate", {layout: __dirname+"/views/layout", failed: true, email: req.body.email})
     }
   } else { 
     res.render(__dirname+"/views/authenticate", {layout: __dirname+"/views/layout", failed: true, email: req.body.email})
   }
 })
 adminUserModel.findOne({'username': username}, function(err, adminUserData) {
     if (err) {
         console.log('Unable to get admin user because: ' + err);
         onReady('Unable to get admin user', null);
     } else {
         if (adminUserData) {
             if (bcrypt.compare_sync(password, adminUserData.passwordHash)) {
                 adminUser.fields = adminUserData;
                 onReady(null, adminUser);
             } else {
                 onReady(null, null);
             }
         } else {
             onReady(null, null);
         }
     }
 });
示例#6
0
exports.login = function (req, res, user) {
  if (bcrypt.compare_sync(req.param('passwordLogin'), user.password)) {
    if (req.session) {
      log.info('Someone logged in! ' + req.param('username') + ' ' + user._id);
      req.session.user = user;
      if (req.param('remember') == 'on') {
        res.cookie('rememberme', 'yes', { maxAge: 31557600000});
      }
      else {
        res.cookie('rememberme', 'yes');
      }
    }
  }
  else {
    log.trace('Wrong password for ' + user.username + '!');
  }
}
示例#7
0
 userDb.findOne({_id: parseInt(req.params.id)}, function (error, user) {
   if (bcrypt.compare_sync(req.user._id + req.user.created_at, verify)) {
     userDb.remove({_id: parseInt(req.params.id)}, function(error, id){
       if (error) {
         log.error(error);
       }
     });
     LoginHelper.logout(req, res);
     res.render('default', {
       title: 'Your account has been deleted',
       text: 'Goodbye old friend.'
     });
   }
   else {
     res.render('default', {
       title: 'Couldn\'t Delete Account',
       text: 'The verification string did not match, we couldn\'t delete your account. Try again maybe?'
     });
   }
 });
示例#8
0
文件: db.js 项目: 9kopb/browserid
 function (error, rows) {
   cb(rows.length === 1 && bcrypt.compare_sync(pass, rows[0].password));
 });
示例#9
0
文件: password.js 项目: Mipmap/Skybox
exports.compare = function(password, hash) {
	return bcrypt.compare_sync(password, hash);
}
示例#10
0
exports.compareHash = function (str, hash) {
  return bcrypt.compare_sync(str, hash);
}
示例#11
0
/**
 * Check if a string is valid against a hash
 */
function check(string,hash) {
  return bcrypt.compare_sync(string, hash);
}