Many more changes

This commit is contained in:
ahmadbilalkhalid 2020-01-27 13:40:57 +05:00
commit 1a76d2b5f3
11 changed files with 386 additions and 283 deletions

View file

@ -22,12 +22,17 @@ class LdapManager:
r = Reader(**kwargs)
return r.search()
def is_password_valid(self, email, password, **kwargs):
entries = self.get(query='(mail={})'.format(email), **kwargs)
def is_password_valid(self, query_value, password, query_key='mail', **kwargs):
entries = self.get(query='({}={})'.format(query_key, query_value), **kwargs)
if entries:
password_in_ldap = entries[0].userPassword.value
return self._check_password(password_in_ldap, password)
return False
found = self._check_password(password_in_ldap, password)
if not found:
raise Exception('Invalid Password')
else:
return entries[0]
else:
raise ValueError('Such {}={} not found'.format(query_key, query_value))
@staticmethod
def _check_password(tagged_digest_salt, password):