diff options
Diffstat (limited to 'forum_modules/oauthauth/authentication.py')
-rwxr-xr-x | forum_modules/oauthauth/authentication.py | 41 |
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 |