Exemple #1
0
def register_service(name):
    if name == 'google':
        return google.register_to(social)

    if name == 'twitter':
        return twitter.register_to(social)

    if name == 'facebook':
        return facebook.register_to(social)

    if name == 'github':
        return github.register_to(social)

    if name == 'weibo':
        return weibo.register_to(social)
Exemple #2
0
from flask_login import current_user, login_required
from flask_oauthlib.client import OAuth
from flask_oauthlib.contrib.apps import facebook as facebook_app, google as google_app
from functools import wraps
from werkzeug.exceptions import Forbidden

from server.models import User

app = OAuth()

facebook_data = {
    'fetch_query': '/me?fields=email,id,first_name,last_name,gender',
    'oauth': facebook_app.register_to(app, app_key='FACEBOOK_OAUTH_PARAMS'),
    'custom_fields': {
        'first_name': 'first_name',
        'last_name': 'last_name'
    }
}

google_data = {
    'fetch_query': 'userinfo',
    'oauth': google_app.register_to(app, app_key='GOOGLE_OAUTH_PARAMS'),
    'custom_fields': {
        'first_name': 'given_name',
        'last_name': 'family_name'
    }
}

oauth_apps = {'facebook': facebook_data, 'google': google_data}

Exemple #3
0
from flask_oauthlib.contrib.apps import facebook
from flask_oauthlib.client import OAuth

import tweepy

from google_api import GoogleProvider

def _make_token_getter(provider):
    def token_getter():
        user = request.oauth.user
        return (user.get_provider_token(provider), "")
    return token_getter

oauth = OAuth()

facebook = facebook.register_to(oauth, scope=["public_profile", "email"])
facebook.tokengetter(_make_token_getter("facebook"))

class TwitterProvider(object):
    @classmethod
    def make_auth(cls, callback_url=None, request_token=None, access_token=None):
        cons_key = current_app.config["TWITTER_CONSUMER_KEY"]
        cons_sec = current_app.config["TWITTER_CONSUMER_SECRET"]

        auth = tweepy.OAuthHandler(cons_key, cons_sec, callback_url)
        if request_token:
            auth.request_token = request_token
        if access_token:
            auth.set_access_token(*access_token.split("\n"))
        return auth
Exemple #4
0
import tweepy

from google_api import GoogleProvider


def _make_token_getter(provider):
    def token_getter():
        user = request.oauth.user
        return (user.get_provider_token(provider), "")

    return token_getter


oauth = OAuth()

facebook = facebook.register_to(oauth, scope=["public_profile", "email"])
facebook.tokengetter(_make_token_getter("facebook"))


class TwitterProvider(object):
    @classmethod
    def make_auth(cls,
                  callback_url=None,
                  request_token=None,
                  access_token=None):
        cons_key = current_app.config["TWITTER_CONSUMER_KEY"]
        cons_sec = current_app.config["TWITTER_CONSUMER_SECRET"]

        auth = tweepy.OAuthHandler(cons_key, cons_sec, callback_url)
        if request_token:
            auth.request_token = request_token