summaryrefslogtreecommitdiffstats
path: root/forum/authentication/base.py
diff options
context:
space:
mode:
Diffstat (limited to 'forum/authentication/base.py')
-rwxr-xr-xforum/authentication/base.py44
1 files changed, 44 insertions, 0 deletions
diff --git a/forum/authentication/base.py b/forum/authentication/base.py
new file mode 100755
index 00000000..99005866
--- /dev/null
+++ b/forum/authentication/base.py
@@ -0,0 +1,44 @@
+
+class AuthenticationConsumer(object):
+
+ def prepare_authentication_request(self, request, redirect_to):
+ raise NotImplementedError()
+
+ def process_authentication_request(self, response):
+ raise NotImplementedError()
+
+ def get_user_data(self, key):
+ raise NotImplementedError()
+
+
+class ConsumerTemplateContext(object):
+ """
+ Class that provides information about a certain authentication provider context in the signin page.
+
+ class attributes:
+
+ mode - one of BIGICON, SMALLICON, FORM
+
+ human_name - the human readable name of the provider
+
+ extra_js - some providers require us to load extra javascript on the signin page for them to work,
+ this is the place to add those files in the form of a list
+
+ extra_css - same as extra_js but for css files
+ """
+ mode = ''
+ weight = 500
+ human_name = ''
+ extra_js = []
+ extra_css = []
+ show_to_logged_in_user = True
+
+ @classmethod
+ def readable_key(cls, key):
+ return key.key
+
+class InvalidAuthentication(Exception):
+ def __init__(self, message):
+ self.message = message
+
+ \ No newline at end of file