diff --git a/moulinette/authenticators/__init__.py b/moulinette/authenticators/__init__.py index e6a24b95..3a78b7e6 100644 --- a/moulinette/authenticators/__init__.py +++ b/moulinette/authenticators/__init__.py @@ -32,9 +32,11 @@ class BaseAuthenticator(object): """ - def __init__(self, name): + def __init__(self, name, vendor, parameters, extra): self._name = name + self.vendor = vendor self.is_authenticated = False + self.extra = extra @property def name(self): diff --git a/moulinette/authenticators/dummy.py b/moulinette/authenticators/dummy.py index d4363f75..f5b96fb7 100644 --- a/moulinette/authenticators/dummy.py +++ b/moulinette/authenticators/dummy.py @@ -18,11 +18,12 @@ class Authenticator(BaseAuthenticator): def __init__(self, name, vendor, parameters, extra): logger.debug("initialize authenticator dummy") - super(Authenticator, self).__init__(name) - def authenticate(self, password): + super(Authenticator, self).__init__(name, vendor, parameters, extra) - if not password == "Yoloswag": - raise MoulinetteError("Invalid password!") + def authenticate(self, password=None): + + if not password == self.name: + raise MoulinetteError("invalid_password") return self diff --git a/moulinette/authenticators/ldap.py b/moulinette/authenticators/ldap.py index 3d27ad96..e0b0dfac 100644 --- a/moulinette/authenticators/ldap.py +++ b/moulinette/authenticators/ldap.py @@ -47,7 +47,7 @@ class Authenticator(BaseAuthenticator): self.basedn, self.userdn, ) - super(Authenticator, self).__init__(name) + super(Authenticator, self).__init__(name, vendor, parameters, extra) if self.userdn: if "cn=external,cn=auth" in self.userdn: @@ -66,7 +66,7 @@ class Authenticator(BaseAuthenticator): # Implement virtual methods - def authenticate(self, password): + def authenticate(self, password=None): try: con = ldap.ldapobject.ReconnectLDAPObject( self.uri, retry_max=10, retry_delay=0.5