예제 #1
0
    url = 'https://twitter.com/account/verify_credentials.json'

    def get_user_info(self):
        user = simplejson.loads(self.query(self.url))
        return user


class TwitterOAuthAdapter(OAuthAdapter):
    provider_id = TwitterProvider.id
    request_token_url = 'https://api.twitter.com/oauth/request_token'
    access_token_url = 'https://api.twitter.com/oauth/access_token'
    # Issue #42 -- this one authenticates over and over again...
    # authorize_url = 'https://api.twitter.com/oauth/authorize'
    authorize_url = 'https://api.twitter.com/oauth/authenticate'

    def get_user_info(self, request, app):
        client = TwitterAPI(request, app.key, app.secret,
                            self.request_token_url)
        user_info = client.get_user_info()
        uid = user_info['id']
        extra_data = { 'profile_image_url': user_info['profile_image_url'], 
                       'screen_name': user_info['screen_name'] }
        data = dict(twitter_user_info=user_info,
                    username=user_info['screen_name'])
        return uid, data, extra_data


oauth_login = OAuthLoginView.adapter_view(TwitterOAuthAdapter)
oauth_callback = OAuthCallbackView.adapter_view(TwitterOAuthAdapter)
oauth_complete = OAuthCompleteView.adapter_view(TwitterOAuthAdapter)
예제 #2
0
                        out[node.tag] = [out[node.tag]]
                    out[node.tag].append(self.to_dict(node))
                else:
                    out[node.tag] = self.to_dict(node)
            return out


class LinkedInOAuthAdapter(OAuthAdapter):
    provider_id = LinkedInProvider.id
    request_token_url = 'https://api.linkedin.com/uas/oauth/requestToken'
    access_token_url = 'https://api.linkedin.com/uas/oauth/accessToken'
    authorize_url = 'https://www.linkedin.com/uas/oauth/authorize'

    def get_user_info(self, request, app):
        client = LinkedInAPI(request, app.key, app.secret,
                             self.request_token_url)
        user_info = client.get_user_info()
        uid = user_info['id']
        extra_data = {}  # TODO
        data = dict(linkedin_user_info=user_info)
        if 'first-name' in user_info:
            data['first_name'] = user_info['first-name']
        if 'last-name' in user_info:
            data['last_name'] = user_info['last-name']
        return uid, data, extra_data


oauth_login = OAuthLoginView.adapter_view(LinkedInOAuthAdapter)
oauth_callback = OAuthCallbackView.adapter_view(LinkedInOAuthAdapter)
oauth_complete = OAuthCompleteView.adapter_view(LinkedInOAuthAdapter)
예제 #3
0
                    if not isinstance(out[node.tag], list):
                        out[node.tag] = [out[node.tag]]
                    out[node.tag].append(self.to_dict(node))
                else:
                    out[node.tag] = self.to_dict(node)
            return out


class LinkedInOAuthAdapter(OAuthAdapter):
    provider_id = LinkedInProvider.id
    request_token_url = 'https://api.linkedin.com/uas/oauth/requestToken'
    access_token_url = 'https://api.linkedin.com/uas/oauth/accessToken'
    authorize_url = 'https://www.linkedin.com/uas/oauth/authorize'

    def get_user_info(self, request, app):
        client = LinkedInAPI(request, app.key, app.secret,
                             self.request_token_url)
        user_info = client.get_user_info()
        uid = user_info['id']
        extra_data = {}  # TODO
        data = dict(linkedin_user_info=user_info)
        if 'first-name' in user_info:
            data['first_name'] = user_info['first-name']
        if 'last-name' in user_info:
            data['last_name'] = user_info['last-name']
        return uid, data, extra_data

oauth_login = OAuthLoginView.adapter_view(LinkedInOAuthAdapter)
oauth_callback = OAuthCallbackView.adapter_view(LinkedInOAuthAdapter)
oauth_complete = OAuthCompleteView.adapter_view(LinkedInOAuthAdapter)
예제 #4
0
    def get_user_info(self):
        user = simplejson.loads(self.query(self.url))
        return user


class TwitterOAuthAdapter(OAuthAdapter):
    provider_id = TwitterProvider.id
    request_token_url = 'https://api.twitter.com/oauth/request_token'
    access_token_url = 'https://api.twitter.com/oauth/access_token'
    # Issue #42 -- this one authenticates over and over again...
    # authorize_url = 'https://api.twitter.com/oauth/authorize'
    authorize_url = 'https://api.twitter.com/oauth/authenticate'

    def get_user_info(self, request, app):
        client = TwitterAPI(request, app.key, app.secret,
                            self.request_token_url)
        user_info = client.get_user_info()
        uid = user_info['id']
        extra_data = {
            'profile_image_url': user_info['profile_image_url'],
            'screen_name': user_info['screen_name']
        }
        data = dict(twitter_user_info=user_info,
                    username=user_info['screen_name'])
        return uid, data, extra_data


oauth_login = OAuthLoginView.adapter_view(TwitterOAuthAdapter)
oauth_callback = OAuthCallbackView.adapter_view(TwitterOAuthAdapter)
oauth_complete = OAuthCompleteView.adapter_view(TwitterOAuthAdapter)