summaryrefslogtreecommitdiffstats
path: root/forum_modules/oauthauth/authentication.py
diff options
context:
space:
mode:
Diffstat (limited to 'forum_modules/oauthauth/authentication.py')
-rwxr-xr-xforum_modules/oauthauth/authentication.py41
1 files changed, 41 insertions, 0 deletions
diff --git a/forum_modules/oauthauth/authentication.py b/forum_modules/oauthauth/authentication.py
new file mode 100755
index 00000000..04145461
--- /dev/null
+++ b/forum_modules/oauthauth/authentication.py
@@ -0,0 +1,41 @@
+from consumer import OAuthAbstractAuthConsumer
+from forum.authentication.base import ConsumerTemplateContext
+
+try:
+ import json as simplejson
+except ImportError:
+ from django.utils import simplejson
+
+from lib import oauth
+import settings
+
+class TwitterAuthConsumer(OAuthAbstractAuthConsumer):
+ def __init__(self):
+ OAuthAbstractAuthConsumer.__init__(self,
+ settings.TWITTER_CONSUMER_KEY,
+ settings.TWITTER_CONSUMER_SECRET,
+ "twitter.com",
+ "https://twitter.com/oauth/request_token",
+ "https://twitter.com/oauth/access_token",
+ "https://twitter.com/oauth/authorize",
+ )
+
+ def get_user_data(self, key):
+ json = self.fetch_data(key, "https://twitter.com/account/verify_credentials.json")
+
+ if 'screen_name' in json:
+ creds = simplejson.loads(json)
+
+ return {
+ 'username': creds['screen_name']
+ }
+
+
+ return {}
+
+class TwitterAuthContext(ConsumerTemplateContext):
+ mode = 'BIGICON'
+ type = 'DIRECT'
+ weight = 150
+ human_name = 'Twitter'
+ icon = '/media/images/openid/twitter.png' \ No newline at end of file