def create_user(self, user_name, password, email): """Creates a user. Returns True on success.""" password_hash = ssha256(password) query = insert(users).values(username=user_name, email=email, password_hash=password_hash, status=1) res = safe_execute(self._engine, query) return res.rowcount == 1
def update_password(self, user_id, password, old_password=None, key=None): """Change the user password Args: user_id: user id password: new password Returns: True if the change was successful, False otherwise """ if old_password is None: if key: #using a key, therefore we should check it if self._get_reset_code(user_id) == key: self.clear_reset_code(user_id) else: logger.error("bad key used for update password") return False else: return False password_hash = ssha256(password) query = update(users).where(users.c.id == user_id) res = safe_execute(self._engine, query.values(password_hash=password_hash)) return res.rowcount == 1
def admin_update_password(self, user, new_password, code=None): """Change the user password Args: user_id: user id password: new password Returns: True if the change was successful, False otherwise """ password_hash = ssha256(new_password.encode('utf8')) return self.admin_update_field(user, 'password', password_hash)
def update_password(self, user_id, password, old_password): """Change the user password Args: user_id: user id password: new password old_password: the old password Returns: True if the change was successful, False otherwise """ # XXX check the old password # password_hash = ssha256(password) query = update(users).where(users.c.id == user_id) res = safe_execute(self._engine, query.values(password_hash=password_hash)) return res.rowcount == 1
def create_user(self, username, password, email): """Creates a user. Returns True on success.""" password_hash = ssha256(password) query = insert(users).values(username=username, mail=email, password=password_hash, accountStatus=1, primaryNode='') try: res = safe_execute(self._engine, query) except IntegrityError: #Name already exists return False if res.rowcount != 1: return False #need a copy with some of the info for the return value userobj = User() userobj['username'] = username userobj['userid'] = res.lastrowid userobj['mail'] = email return userobj
def test_validate_password(self): one = ssha('one') two = ssha256('two') self.assertTrue(validate_password('one', one)) self.assertTrue(validate_password('two', two))