summaryrefslogtreecommitdiff
path: root/service/pixelated/authentication.py
diff options
context:
space:
mode:
Diffstat (limited to 'service/pixelated/authentication.py')
-rw-r--r--service/pixelated/authentication.py28
1 files changed, 15 insertions, 13 deletions
diff --git a/service/pixelated/authentication.py b/service/pixelated/authentication.py
index 4b268435..c9961476 100644
--- a/service/pixelated/authentication.py
+++ b/service/pixelated/authentication.py
@@ -1,32 +1,34 @@
import re
-from email.utils import parseaddr
+
class Authentication(object):
+ def __init__(self, username, token, uuid, session_id, user_attributes):
+ self.username = username
+ self.token = token
+ self.uuid = uuid
+ self.session_id = session_id
+ self._user_attributes = user_attributes
+
+ def is_admin(self):
+ return self._user_attributes.get('is_admin', False)
+
+class Authenticator(object):
def __init__(self, domain):
self.domain = domain
- # self.token = token
- # self.uuid = uuid
- # self.session_id = session_id
- # self._user_attributes = user_attributes
def authenticate(self, username, password):
self.username = self.validate_username(username)
self.srp_auth(username, password)
def validate_username(self, username):
- if '@' not in username: return True
- extracted_username = self.extract_username(username)
- if self.username_with_domain(extracted_username) == username:
+ if '@' not in username:
return True
- else:
- return False
+ extracted_username = self.extract_username(username)
+ return self.username_with_domain(extracted_username) == username
def extract_username(self, username):
return re.search('^([^@]+)@?.*$', username).group(1)
def username_with_domain(self, username):
return '%s@%s' % (username, self.domain)
-
- def is_admin(self):
- return self._user_attributes.get('is_admin', False)