annie-node-webapp-user
Version:
user module in annie.design website
28 lines (25 loc) • 975 B
JavaScript
var annieUtils = require("annie-node-utils");
var emailValidator = annieUtils.createEmailAddressValidator();
function LoginBuz(userDao) {
this.login = async function(req) {
if (!req.username) {
throw new Error("username is empty.")
}
if (!req.password) {
throw new Error("password is empty.")
}
var user = await userDao.getUserByName(req.username);;
if (null == user) user = await userDao.getUserByEmail(req.username);
if (null == user) throw new Error("username not exists.");
var password = req.password + "@" + user.salt;
password = annieUtils.hash.computeMD5(password);
if (password != user.password)
throw new Error("password is incorrect.");
return {
status: true,
username:user.username,
sessionId: annieUtils.rand.randString(16)
}
}
}
module.exports = LoginBuz;