diff --git a/etiquette/objects.py b/etiquette/objects.py index 7293eeb..2a21c3e 100644 --- a/etiquette/objects.py +++ b/etiquette/objects.py @@ -1293,6 +1293,7 @@ class User(ObjectBase): self.id = db_row['id'] self.username = db_row['username'] self.created = db_row['created'] + self.password_hash = db_row['password'] def __repr__(self): rep = 'User:{id}:{username}'.format(id=self.id, username=self.username) diff --git a/etiquette/photodb.py b/etiquette/photodb.py index fc9b586..54460d6 100644 --- a/etiquette/photodb.py +++ b/etiquette/photodb.py @@ -878,13 +878,13 @@ class PDBUserMixin: if not isinstance(password, bytes): password = password.encode('utf-8') - stored_password = fetch[constants.SQL_USER['password']] + user = objects.User(self, fetch) - success = bcrypt.checkpw(password, stored_password) + success = bcrypt.checkpw(password, user.password_hash) if not success: raise exceptions.WrongLogin() - return objects.User(self, fetch) + return user @decorators.required_feature('user.new') @decorators.transaction