Пример #1
0
    def get_google_oauth_client(self):
        """
        Returns a instance of WebCollect
        """
        if not all([self.google_app_id, self.google_app_secret]):
            current_app.logger.error("Google api settings are missing")
            flash(_("Google login is not available at the moment"))
            return None

        oauth = OAuth()
        google = oauth.remote_app(
            'google',
            base_url='https://www.google.com/accounts/',
            request_token_url=None,
            access_token_url='https://accounts.google.com/o/oauth2/token',
            access_token_method='POST',
            authorize_url='https://accounts.google.com/o/oauth2/auth',
            consumer_key=self.google_app_id,
            consumer_secret=self.google_app_secret,
            request_token_params={
                'response_type': 'code',
                'scope': 'email',
            },
            access_token_params={'grant_type': 'authorization_code'}
        )
        google.tokengetter_func = lambda *a: session.get('google_oauth_token')
        return google
Пример #2
0
    def get_linkedin_oauth_client(self,
                                  scope='r_basicprofile,r_emailaddress',
                                  token='linkedin_oauth_token'):
        """Returns a instance of WebCollect

        :param scope: Scope of information to be fetched from linkedin
        :param token: Token for authentication
        """
        if not all([self.linkedin_api_key, self.linkedin_api_secret]):
            current_app.logger.error("LinkedIn api settings are missing")
            flash(_("LinkedIn login is not available at the moment"))
            return None

        oauth = OAuth()
        linkedin = oauth.remote_app(
            'linkedin',
            base_url='https://api.linkedin.com',
            request_token_url='/uas/oauth/requestToken',
            access_token_url='/uas/oauth/accessToken',
            authorize_url='/uas/oauth/authenticate',
            consumer_key=self.linkedin_api_key,
            consumer_secret=self.linkedin_api_secret,
            request_token_params={'scope': scope})
        linkedin.tokengetter_func = lambda *a: session.get(token)
        return linkedin
Пример #3
0
    def get_facebook_oauth_client(self, site=None):
        """Returns a instance of WebCollect

        :param site: Browserecord of the website, If not specified, it will be
                     guessed from the request context
        """
        if site is None:
            site = request.nereid_website

        if not all([site.facebook_app_id, site.facebook_app_secret]):
            current_app.logger.error("Facebook api settings are missing")
            flash(_("Facebook login is not available at the moment"))
            return None

        oauth = OAuth()
        facebook = oauth.remote_app('facebook',
            base_url='https://graph.facebook.com/',
            request_token_url=None,
            access_token_url='/oauth/access_token',
            authorize_url='https://www.facebook.com/dialog/oauth',
            consumer_key=site.facebook_app_id,
            consumer_secret=site.facebook_app_secret,
            request_token_params={'scope': 'email'}
        )
        facebook.tokengetter_func = lambda *a: session.get(
                'facebook_oauth_token'
        )
        return facebook
Пример #4
0
    def get_linkedin_oauth_client(
        self, scope='r_basicprofile,r_emailaddress',
        token='linkedin_oauth_token'
    ):
        """Returns a instance of WebCollect

        :param scope: Scope of information to be fetched from linkedin
        :param token: Token for authentication
        """
        if not all([self.linkedin_api_key, self.linkedin_api_secret]):
            current_app.logger.error("LinkedIn api settings are missing")
            flash(_("LinkedIn login is not available at the moment"))
            return None

        oauth = OAuth()
        linkedin = oauth.remote_app(
            'linkedin',
            base_url='https://api.linkedin.com',
            request_token_url='/uas/oauth/requestToken',
            access_token_url='/uas/oauth/accessToken',
            authorize_url='/uas/oauth/authenticate',
            consumer_key=self.linkedin_api_key,
            consumer_secret=self.linkedin_api_secret,
            request_token_params={'scope': scope}
        )
        linkedin.tokengetter_func = lambda *a: session.get(token)
        return linkedin
Пример #5
0
def app_init(cfg='../config.py'):
    ''' Initialises the flask app. '''

    app        = Flask( __name__, static_folder=os.path.abspath('static'))
    app.register_blueprint(API, url_prefix='/api')
    app.config.from_pyfile(cfg)
    app.debug      =   app.config.get('DEBUG')
    app.secret_key = app.config.get('SECRET_KEY')
    oauth = OAuth()

    '''GOOGLE_CLIENT_ID = conf.GOOGLE_CLIENT_ID
    GOOGLE_CLIENT_SECRET = conf.GOOGLE_CLIENT_SECRET
    '''

    google = oauth.remote_app('google',
      base_url='https://www.google.com/accounts/',
      authorize_url='https://accounts.google.com/o/oauth2/auth',
      request_token_url=None,
      request_token_params={
        'scope': 'https://www.googleapis.com/auth/userinfo.email',
        'response_type': 'code'},
      access_token_url='https://accounts.google.com/o/oauth2/token',
      access_token_method='POST',
      access_token_params={'grant_type': 'authorization_code'},
      consumer_key=app.config.get('GOOGLE_CLIENT_ID'),
      consumer_secret=app.config.get('GOOGLE_CLIENT_SECRET'))

    return app, google
Пример #6
0
    def get_facebook_oauth_client(self, site=None):
        """Returns a instance of WebCollect

        :param site: Browserecord of the website, If not specified, it will be
                     guessed from the request context
        """
        if site is None:
            site = request.nereid_website

        if not all([site.facebook_app_id, site.facebook_app_secret]):
            current_app.logger.error("Facebook api settings are missing")
            flash(_("Facebook login is not available at the moment"))
            return None

        oauth = OAuth()
        facebook = oauth.remote_app(
            'facebook',
            base_url='https://graph.facebook.com/',
            request_token_url=None,
            access_token_url='/oauth/access_token',
            authorize_url='https://www.facebook.com/dialog/oauth',
            consumer_key=site.facebook_app_id,
            consumer_secret=site.facebook_app_secret,
            request_token_params={'scope': 'email'})
        facebook.tokengetter_func = lambda *a: session.get(
            'facebook_oauth_token')
        return facebook
Пример #7
0
def twitter_credentials(access_token, token_secret):
    '''
    (str, str) -> dict

    Valida si el access_token y token_secret del usuario son validos, retorna
    un json con los datos del usuario el cual es suministrado por los servicios
    de twitter y un status 200, en caso contrario retorna un mensaje de error y
    status 401.
    '''

    from flask import current_app
    from flask_oauth import OAuth

    config = current_app.config

    tw_auth = OAuth().remote_app(name=config['TW_NAME'],
                            base_url=config['TW_BASE_URL'],
                            request_token_url=config['TW_REQUEST_TOKEN_URL'],
                            access_token_url=config['TW_ACCESS_TOKEN_URL'],
                            authorize_url=config['TW_AUTHORIZE_URL'],
                            consumer_key=config['TW_CONSUMER_KEY'],
                            consumer_secret=config['TW_CONSUMER_SECRET'])

    #definicion de una funcion tokengetter necesaria para el funcionamiento de
    #Flask-Oauth retorna una tubla con el access_token y token_secret
    def get_twitter_token(token=access_token, secret=token_secret):
        return token, secret

    tw_auth.tokengetter(get_twitter_token)
    return tw_auth.get('account/verify_credentials.json')
Пример #8
0
    def get_linkedin_oauth_client(self, site=None, 
            scope='r_basicprofile,r_emailaddress',
            token='linkedin_oauth_token'):
        """Returns a instance of WebCollect

        :param site: Browserecord of the website, If not specified, it will be
                     guessed from the request context
        """
        if site is None:
            site = request.nereid_website

        if not all([site.linkedin_api_key, site.linkedin_api_secret]):
            current_app.logger.error("LinkedIn api settings are missing")
            flash(_("LinkedIn login is not available at the moment"))
            return None

        oauth = OAuth()
        linkedin = oauth.remote_app('linkedin',
            base_url='https://api.linkedin.com',
            request_token_url='/uas/oauth/requestToken',
            access_token_url='/uas/oauth/accessToken',
            authorize_url='/uas/oauth/authenticate',
            consumer_key=site.linkedin_api_key,
            consumer_secret=site.linkedin_api_secret,
            request_token_params={'scope': scope}
        )
        linkedin.tokengetter_func = lambda *a: session.get(token)
        return linkedin
Пример #9
0
    def get_linkedin_oauth_client(self,
                                  site=None,
                                  scope='r_basicprofile,r_emailaddress',
                                  token='linkedin_oauth_token'):
        """Returns a instance of WebCollect

        :param site: Browserecord of the website, If not specified, it will be
                     guessed from the request context
        """
        if site is None:
            site = request.nereid_website

        if not all([site.linkedin_api_key, site.linkedin_api_secret]):
            current_app.logger.error("LinkedIn api settings are missing")
            flash(_("LinkedIn login is not available at the moment"))
            return None

        oauth = OAuth()
        linkedin = oauth.remote_app(
            'linkedin',
            base_url='https://api.linkedin.com',
            request_token_url='/uas/oauth/requestToken',
            access_token_url='/uas/oauth/accessToken',
            authorize_url='/uas/oauth/authenticate',
            consumer_key=site.linkedin_api_key,
            consumer_secret=site.linkedin_api_secret,
            request_token_params={'scope': scope})
        linkedin.tokengetter_func = lambda *a: session.get(token)
        return linkedin
Пример #10
0
def create_app(config='settings'):
    app = Flask(__name__)
    with app.app_context():
        app.config.from_object(config)
        app.jinja_loader = ThemeLoader(os.path.join(app.root_path, app.template_folder), followlinks=True)

        app.debug = app.config['DEBUG']
        app.secret_key = app.config['SECRET_KEY']

        from qa_app.models import db

        # sqlite database creation is relative to the script which causes issues with serve.py
        if not database_exists(app.config['SQLALCHEMY_DATABASE_URI']) and not \
                app.config['SQLALCHEMY_DATABASE_URI'].startswith('sqlite'):
            create_database(app.config['SQLALCHEMY_DATABASE_URI'])

        db.init_app(app)
        db.create_all()

        app.db = db

        oauth = OAuth()
        global google, lm
        lm.init_app(app)
        lm.login_view = 'auth.login'

        google = oauth.remote_app('google',
                                  base_url='https://www.google.com/accounts/',
                                  authorize_url='https://accounts.google.com/o/oauth2/auth',
                                  request_token_url=None,
                                  request_token_params={'scope': 'https://www.googleapis.com/auth/userinfo.email',
                                                        'response_type': 'code'},
                                  access_token_url='https://accounts.google.com/o/oauth2/token',
                                  access_token_method='POST',
                                  access_token_params={'grant_type': 'authorization_code'},
                                  consumer_key=app.config['GOOGLE_CLIENT_ID'],
                                  consumer_secret=app.config['GOOGLE_CLIENT_SECRET'])
        from qa_app import utils
        from qa_app import exceptions

        from qa_app.views import views
        from qa_app.auth import auth
        from qa_app.scoreboard import scoreboard
        from qa_app.challenges import challenges

        utils.init_utils(app)

        app.register_blueprint(views)
        app.register_blueprint(auth)
        app.register_blueprint(scoreboard)
        app.register_blueprint(challenges)

        return app
Пример #11
0
    def login():
        print "Start setting oAuth parameters"
        # import urllib2
        # import oauth2 as oauth

        CLIENT_ID = os.getenv("UP_client_id")
        CLIENT_SECRET = os.getenv("UP_client_secret")
        REDIRECT_URI = "https://sleepmodel.herokuapp.com/"
        base_auth_url = 'https://jawbone.com/auth/oauth2/auth'
        auth_params = "response_type=code&client_id=" + CLIENT_ID + "&scope=basic_read&redirect_uri=" + REDIRECT_URI
        base_token_url = 'https://jawbone.com/auth/oauth2/token'
        token_params = "client_id=" + CLIENT_ID + "&client_secret=" + CLIENT_SECRET + "&grant_type=authorization_code"
        # # Get authentication url for request token
        auth_url = base_auth_url + "?" + auth_params
        # resp, content = client.request(base_auth_url)
        token_url = base_token_url + "?" + token_params

        print "Finish setting oAuth parameters"

        # Basic version
        import oauth2 as oa2
        import logging
        consumer = oa2.Consumer(key=os.getenv("UP_client_id"), secret=os.getenv("UP_client_secret"))
        # token = oa2.Token(flask.request.args.get('oauth_token'), flask.request.args.get('oauth_verifier'))
        client = oa2.Client(consumer)
        print consumer
        print client
        # resp, content = client.request(auth_url)
        # print resp

        # return flask.redirect(REDIRECT_URI)

        from flask_oauth import OAuth 
        from flask_oauth import request as rex
        # oa = OAuth()
        # print oa
        sleepUP = OAuth().remote_app('sleepmodel', 
            base_url='https://jawbone.com/auth/oauth2/auth',
            request_token_url=base_auth_url,
            access_token_url=base_token_url,
            authorize_url=base_token_url,
            consumer_key=os.getenv("UP_client_id"),
            consumer_secret=os.getenv("UP_client_secret")
            )
        print sleepUP

        # return render_template("index.html")
        out = sleepUP.authorize(callback=url_for('oauth_authorized', 
            next=flask.request.args.get('next') or None))
        print out
        return out
Пример #12
0
 def __init__(self, client):
     self.oauth = OAuth()
     self.client = client
     self.fb_app = self.oauth.remote_app(
         'facebook',
         base_url='https://graph.facebook.com/',
         request_token_url=None,
         access_token_url='/oauth/access_token',
         authorize_url='https://www.facebook.com/dialog/oauth',
         consumer_key=config.FACEBOOK_APP_ID,
         consumer_secret=config.FACEBOOK_APP_SECRET,
     )
     self.fb_app.tokengetter(self.get_token)
     self.get_insights()
     self.INFLUX = db.init_influxdb()
Пример #13
0
def load_resources(app):
    oauth = OAuth()

    facebook = oauth.remote_app(
        'facebook',
        base_url='https://graph.facebook.com/',
        request_token_url=None,
        access_token_url='/oauth/access_token',
        authorize_url='https://www.facebook.com/dialog/oauth',
        consumer_key=app.config['FACEBOOK_APP_ID'],
        consumer_secret=app.config['FACEBOOK_APP_SECRET'],
        request_token_params={'scope': ('email, ')})

    @facebook.tokengetter
    def get_facebook_token():
        return session.get('facebook_token')

    def pop_login_session():
        session.pop('logged_in', None)
        session.pop('facebook_token', None)

    @app.route("/facebook_login/")
    def facebook_login():
        return facebook.authorize(
            callback=url_for('facebook_authorized',
                             next=request.args.get('next'),
                             _external=True))

    @app.route("/facebook_authorized/")
    @facebook.authorized_handler
    def facebook_authorized(resp):
        next_url = request.args.get('next') or url_for('index')
        if resp is None or 'access_token' not in resp:
            return redirect(next_url)

        session['logged_in'] = True
        session['facebook_token'] = (resp['access_token'], '')
        data = facebook.get('/me').data
        if 'id' in data and 'name' in data:
            session['user_id'] = data['id']
            session['user_name'] = data['name']

        return redirect(next_url)

    @app.route("/logout/")
    def logout():
        pop_login_session()
        return redirect(url_for('index'))
Пример #14
0
class Twitter:
    oauth = OAuth()

    def __init__(self, c_k, c_s):
        #oauth = OAuth()
        # Use Twitter as example remote application
        self.oauth = self.oauth.remote_app(
            'twitter',
            # unless absolute urls are used to make requests,
            # this will be added before all URLs. This is also true for
            # request_token_url and others.
            base_url='https://api.twitter.com/1/',
            # where flask should look for new request tokens
            request_token_url='https://api.twitter.com/oauth/request_token',
            # where flask should exchange the token with the remote application
            access_token_url='https://api.twitter.com/oauth/access_token',
            # twitter knows two authorizatiom URLs. /authorize and
            # /authenticate. They mostly work the same, but for sign
            # on /authenticate is expected because this will give
            # the user a slightly different
            # user interface on the twitter side.
            authorize_url='https://api.twitter.com/oauth/authenticate',
            # the consumer keys from the twitter application registry.
            consumer_key=c_k,  # app.config['TWITTER_CONSUMER_KEY'],
            consumer_secret=c_s)  # app.config['TWITTER_CONSUMER_KEY']
Пример #15
0
class OAuthProvider():
    client_id = None
    client_secret = None
    base_url = None
    authorize_url = None
    request_token_url = None
    request_token_params = {'scope': None, 'response_type': 'code'}
    access_token_url = None
    token_verify_url = None
    access_token_method = 'POST'
    access_token_params = {'grant_type': 'authorization_code'}
    oauth = OAuth()
    remote_app = None

    def __init__(self, providerService):
        self.remote_app = self.oauth.remote_app(
            providerService,
            base_url=self.base_url,
            authorize_url=self.authorize_url,
            request_token_url=self.request_token_url,
            request_token_params=self.request_token_params,
            access_token_url=self.access_token_url,
            access_token_method=self.access_token_method,
            access_token_params=self.access_token_params,
            consumer_key=self.client_id,
            consumer_secret=self.client_secret)

    def get_remote_app(self):
        return self.remote_app
Пример #16
0
def load_resources(app):
    oauth = OAuth()

    facebook = oauth.remote_app('facebook',
        base_url='https://graph.facebook.com/',
        request_token_url=None,
        access_token_url='/oauth/access_token',
        authorize_url='https://www.facebook.com/dialog/oauth',
        consumer_key=app.config['FACEBOOK_APP_ID'],
        consumer_secret=app.config['FACEBOOK_APP_SECRET'],
        request_token_params={'scope': ('email, ')}
    )

    @facebook.tokengetter
    def get_facebook_token():
        return session.get('facebook_token')

    def pop_login_session():
        session.pop('logged_in', None)
        session.pop('facebook_token', None)

    @app.route("/facebook_login/")
    def facebook_login():
        return facebook.authorize(callback=url_for('facebook_authorized',
            next=request.args.get('next'), _external=True))

    @app.route("/facebook_authorized/")
    @facebook.authorized_handler
    def facebook_authorized(resp):
        next_url = request.args.get('next') or url_for('index')
        if resp is None or 'access_token' not in resp:
            return redirect(next_url)

        session['logged_in'] = True
        session['facebook_token'] = (resp['access_token'], '')
        data = facebook.get('/me').data
        if 'id' in data and 'name' in data:
            session['user_id'] = data['id']
            session['user_name'] = data['name']

        return redirect(next_url)

    @app.route("/logout/")
    def logout():
        pop_login_session()
        return redirect(url_for('index'))
Пример #17
0
 def __init__(self, client_id, client_secret):
     self.client_id = client_id
     self.client_secret = client_secret
     self.oauth = OAuth()
     self.g = self.oauth.remote_app('google',
        base_url='https://www.google.com/accounts/',
        authorize_url='https://accounts.google.com/o/oauth2/auth',
        request_token_url=None,
        request_token_params={
            'scope': 'https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile',
             'response_type': 'code'
        },
        access_token_url='https://accounts.google.com/o/oauth2/token',
        access_token_method='POST',
        access_token_params={'grant_type': 'authorization_code'},
        consumer_key=self.client_id,
        consumer_secret=self.client_secret)
     self.authorized = None
     self.user = UserMdl(-1)
Пример #18
0
def get_auth_client(config):

    client_id = config.get("GOOGLE_CLIENT_ID", "")
    client_secret = config.get("GOOGLE_CLIENT_SECRET", "")

    oauth = OAuth()
    google = oauth.remote_app(
        "google",
        base_url="https://www.google.com/accounts/",
        authorize_url="https://accounts.google.com/o/oauth2/auth",
        request_token_url=None,
        request_token_params={"scope": "https://www.googleapis.com/auth/userinfo.email", "response_type": "code"},
        access_token_url="https://accounts.google.com/o/oauth2/token",
        access_token_method="POST",
        access_token_params={"grant_type": "authorization_code"},
        consumer_key=client_id,
        consumer_secret=client_secret,
    )
    return google
Пример #19
0
def get_tweets():
	oauth = OAuth()
	twitter = oauth.remote_app('twitter',base_url='https://api.twitter.com/1.1/',request_token_url='https://api.twitter.com/oauth/request_token',access_token_url='https://api.twitter.com/oauth/access_token',authorize_url='https://api.twitter.com/oauth/authenticate',consumer_key='MH1GPY8XpYgT9P5zVlWeDjHaQ',consumer_secret='cmq6yblCsQiXD9LVwKK7Xh5DcZTA3fwlNPykWMzVegDMOWMkAm')

	session['twitter_token'] = (
		'2835780022-2UlRmdzQLVbel8qr2RiQsDzPnSOhUBqW8JYmIoE',
		't7mHe7nZqPO1y9dz5tLQRQFcXJZlB4h5MUfi2pdPdO0pg'
	)

	@twitter.tokengetter
	def get_twitter_token(token=None):
		return session.get('twitter_token')

	# Search for tweets containing these words
	queries = ['mihogo','cassava','njaa','chakula ghali','hakuna chakula','enough food','expensive food','no food','mahindi','wali']
	tweets = {}

	resp = twitter.get('search/tweets.json', data = {
			'q': 'hungry',
			'geocode': '1,38,500km',
			'result_type': 'recent',
			'count':'5',
			})

	tweets = resp.data

	for query in queries:
		resp = twitter.get('search/tweets.json', data = {
			'q': query,
			'geocode': '1,38,500km',
			'result_type': 'recent',
			'count':'5',
			})

		if resp.status == 200:
			tweets['statuses'].extend(resp.data['statuses'])
		else:
			tweets = None
			flash('whoops - couldn\'t get tweets :(')

	return tweets
Пример #20
0
class Facebook:
    oauth = OAuth()

    def __init__(self, c_k, c_s):
        self.oauth = self.oauth.remote_app('facebook',
            base_url='https://graph.facebook.com/',
            request_token_url=None,
            access_token_url='/oauth/access_token',
            authorize_url='https://www.facebook.com/dialog/oauth',
            consumer_key=c_k,  # app.config['FACEBOOK_APP_ID'],
            consumer_secret=c_s,  # app.config['FACEBOOK_APP_SECRET']
            request_token_params={'scope': 'email'})
Пример #21
0
    def get_facebook_oauth_client(self):
        """
        Returns a instance of WebCollect
        """
        if not all([self.facebook_app_id, self.facebook_app_secret]):
            current_app.logger.error("Facebook api settings are missing")
            flash(_("Facebook login is not available at the moment"))
            return None

        oauth = OAuth()
        facebook = oauth.remote_app(
            "facebook",
            base_url="https://graph.facebook.com/",
            request_token_url=None,
            access_token_url="/oauth/access_token",
            authorize_url="https://www.facebook.com/dialog/oauth",
            consumer_key=self.facebook_app_id,
            consumer_secret=self.facebook_app_secret,
            request_token_params={"scope": "email"},
        )
        facebook.tokengetter_func = lambda *a: session.get("facebook_oauth_token")
        return facebook
Пример #22
0
    def get_facebook_oauth_client(self):
        """
        Returns a instance of WebCollect
        """
        if not all([self.facebook_app_id, self.facebook_app_secret]):
            current_app.logger.error("Facebook api settings are missing")
            flash(_("Facebook login is not available at the moment"))
            return None

        oauth = OAuth()
        facebook = oauth.remote_app(
            'facebook',
            base_url='https://graph.facebook.com/',
            request_token_url=None,
            access_token_url='/oauth/access_token',
            authorize_url='https://www.facebook.com/dialog/oauth',
            consumer_key=self.facebook_app_id,
            consumer_secret=self.facebook_app_secret,
            request_token_params={'scope': 'email'})
        facebook.tokengetter_func = lambda *a: session.get(
            'facebook_oauth_token')
        return facebook
Пример #23
0
def authenticate():
    # return requests.get('http://example.com').content
    # return requests.get("http://www.google.com")

@app.route("/proxy-example")
def proxy_example():
    r = requests.get("http://example.com/other-endpoint")
    return Response(
        r.text
        status = r.status_code,
        content_type = r.headers['content-type'],
    )

@app.route('/callback', code)
def callback():
    return code

oauth = OAuth()
    # Information on Flask-OAuth https://pythonhosted.org/Flask-OAuth/
    docusign = oauth.remote_app('docusign',
                                oauth_base_url = "account-d.docusign.com",
    )
    return None
Пример #24
0
class Google:
    oauth = OAuth()

    def __init__(self, c_k, c_s):
        self.oauth = self.oauth.remote_app('google',
                base_url='https://www.google.com/accounts/',
                authorize_url='https://accounts.google.com/o/oauth2/auth',
                request_token_url=None,
                request_token_params={'scope': 'https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email',
                                      'response_type': 'code'},
                access_token_url='https://accounts.google.com/o/oauth2/token',
                access_token_method='POST',
                access_token_params={'grant_type': 'authorization_code'},
                consumer_key=c_k,
                consumer_secret=c_s)
Пример #25
0
    def __init__(self,
                 name,
                 title,
                 key,
                 secret,
                 access_key,
                 access_secret,
                 at_login=True,
                 priority=True,
                 icon=None):
        self.name = name
        self.title = title
        self.at_login = at_login
        self.priority = priority
        self.icon = icon
        self.consumer_key = key
        self.consumer_secret = secret
        self.access_key = access_key
        self.access_secret = access_secret
        oauth = OAuth()
        twitter = oauth.remote_app(
            'twitter',
            base_url='https://api.twitter.com/1/',
            request_token_url='https://api.twitter.com/oauth/request_token',
            access_token_url='https://api.twitter.com/oauth/access_token',
            authorize_url='https://api.twitter.com/oauth/authenticate',
            consumer_key=key,
            consumer_secret=secret,
        )

        twitter.tokengetter(
            lambda token=None: None)  # We have no use for tokengetter

        self.callback = twitter_exception_handler(
            twitter.authorized_handler(self.unwrapped_callback))
        self.twitter = twitter
Пример #26
0
    def __init__(self, app):

        app.config.setdefault('HEROKU_OAUTH_SCOPE', 'global')
        app.config.setdefault('HEROKU_OAUTH_PATH', '/auth/heroku/callback')
        app.config.setdefault('HEROKU_OAUTH_LOGOUT_PATH', '/auth/heroku/logout')
        app.config.setdefault('HEROKU_OAUTH_BASE_URL', 'http://localhost:5000/')
        app.config.setdefault('HEROKU_OAUTH_ID', None)
        app.config.setdefault('HEROKU_OAUTH_SECRET', None)

        self.app = app

        oauth = OAuth()
        self.oauth = oauth.remote_app('heroku',
            base_url=self.baseurl,
            request_token_url=None,
            access_token_url='https://id.heroku.com/oauth/token',
            authorize_url='https://id.heroku.com/oauth/authorize',
            consumer_key=self.id,
            consumer_secret=self.secret,
            request_token_params={
                'response_type': 'code',
                'scope': self.scope
            }
        )

        self.app.add_url_rule(
            self.auth_path,
            view_func=self.authorize,
            endpoint="heroku_auth_login"
        )

        self.app.add_url_rule(
            self.logout_path,
            view_func=self.logout,
            endpoint="heroku_auth_logout"
        )
Пример #27
0
    def __init__(self, name, title, key, secret, access_key, access_secret, at_login=True, priority=True, icon=None):
        self.name = name
        self.title = title
        self.at_login = at_login
        self.priority = priority
        self.icon = icon
        self.consumer_key = key
        self.consumer_secret = secret
        self.access_key = access_key
        self.access_secret = access_secret
        oauth = OAuth()
        twitter = oauth.remote_app('twitter',
            base_url='https://api.twitter.com/1/',
            request_token_url='https://api.twitter.com/oauth/request_token',
            access_token_url='https://api.twitter.com/oauth/access_token',
            authorize_url='https://api.twitter.com/oauth/authenticate',
            consumer_key=key,
            consumer_secret=secret,
            )

        twitter.tokengetter(lambda token=None: None)  # We have no use for tokengetter

        self.callback = twitter_exception_handler(twitter.authorized_handler(self.unwrapped_callback))
        self.twitter = twitter
Пример #28
0
def get_tweet_html(id):
	oauth = OAuth()
	twitter = oauth.remote_app('twitter',base_url='https://api.twitter.com/1.1/',request_token_url='https://api.twitter.com/oauth/request_token',access_token_url='https://api.twitter.com/oauth/access_token',authorize_url='https://api.twitter.com/oauth/authenticate',consumer_key='MH1GPY8XpYgT9P5zVlWeDjHaQ',consumer_secret='cmq6yblCsQiXD9LVwKK7Xh5DcZTA3fwlNPykWMzVegDMOWMkAm')

	session['twitter_token'] = (
		'2835780022-2UlRmdzQLVbel8qr2RiQsDzPnSOhUBqW8JYmIoE',
		't7mHe7nZqPO1y9dz5tLQRQFcXJZlB4h5MUfi2pdPdO0pg'
	)

	@twitter.tokengetter
	def get_twitter_token(token=None):
		return session.get('twitter_token')

	resp = twitter.get('statuses/oembed.json', data = {
		'id': id,
		'hide_media': 'true'
		})
	if resp.status == 200:
		tweet_html = resp.data
	else:
		tweet_html = None
		flash('whoops - couldn\'t get tweets :(')

	return tweet_html['html']
Пример #29
0
class Google:

    def __init__(self, client_id, client_secret):
        self.client_id = client_id
        self.client_secret = client_secret
        self.oauth = OAuth()
        self.g = self.oauth.remote_app('google',
           base_url='https://www.google.com/accounts/',
           authorize_url='https://accounts.google.com/o/oauth2/auth',
           request_token_url=None,
           request_token_params={
               'scope': 'https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile',
                'response_type': 'code'
           },
           access_token_url='https://accounts.google.com/o/oauth2/token',
           access_token_method='POST',
           access_token_params={'grant_type': 'authorization_code'},
           consumer_key=self.client_id,
           consumer_secret=self.client_secret)
        self.authorized = None
        self.user = UserMdl(-1)

    def get_authorized(self, key=None):
        if key:
            return self.authorized.get(key, None)
        return self.authorized

    def get_user_info(self):
        access_token = self.get_authorized('access_token')
        headers = {'Authorization': 'OAuth ' + access_token}
        req = Request('https://www.googleapis.com/oauth2/v1/userinfo',
                      None, headers)
        res = None
        try:
            res = urlopen(req)
            user = json.loads(res.read())
            self.user.google_plus = user.get('id', -1)
            self.user.name = user.get('given_name', '').encode('utf-8')
            self.user.email = user.get('email', '')
            self.user.last_name = user.get('family_name', '').encode('utf-8')
            self.user.cover = user.get('picture', '')
            # self.user.timezone = user.get('timezone', None)

        except URLError, e:
            print e
            return False
        return True
Пример #30
0
class Twitter(object):
    oauth = OAuth()

    def __init__(self, app=None):
        self.app = app
        if app is not None:  # pragma: no cover
            self.init_app(app)

    def init_app(self, app):
        self.oauth = self.oauth.remote_app(
            'twitter',
            base_url='https://api.twitter.com/1/',
            request_token_url='https://api.twitter.com/oauth/request_token',
            access_token_url='https://api.twitter.com/oauth/access_token',
            authorize_url='https://api.twitter.com/oauth/authenticate',
            consumer_key=app.config['TWITTER_CONSUMER_KEY'],
            consumer_secret=app.config['TWITTER_CONSUMER_SECRET'])
Пример #31
0
class Facebook(object):
    oauth = OAuth()

    def __init__(self, app=None):
        self.app = app
        if app is not None:  # pragma: no cover
            self.init_app(app)

    def init_app(self, app):
        self.oauth = self.oauth.remote_app(
            'facebook',
            base_url='https://graph.facebook.com/',
            request_token_url=None,
            access_token_url='/oauth/access_token',
            authorize_url='https://www.facebook.com/dialog/oauth',
            consumer_key=app.config['FACEBOOK_APP_ID'],
            consumer_secret=app.config['FACEBOOK_APP_SECRET'],
            request_token_params={'scope': 'email'})
Пример #32
0
class Google(object):
    oauth = OAuth()

    def __init__(self, app=None):
        self.app = app
        if app is not None:  # pragma: no cover
            self.init_app(app)

    def init_app(self, app):
        self.oauth = self.oauth.remote_app(
            'google',
            base_url='https://www.google.com/accounts/',
            authorize_url='https://accounts.google.com/o/oauth2/auth',
            request_token_url=None,
            request_token_params={
                'scope':
                'https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email',
                'response_type': 'code'
            },
            access_token_url='https://accounts.google.com/o/oauth2/token',
            access_token_method='POST',
            access_token_params={'grant_type': 'authorization_code'},
            consumer_key=app.config['GOOGLE_CLIENT_ID'],
            consumer_secret=app.config['GOOGLE_CLIENT_SECRET'])
Пример #33
0
from flask import session
from flask_bcrypt import Bcrypt
from flask_login import LoginManager
from flask_openid import OpenID
from flask_oauth import OAuth
from flask_principal import Principal, Permission, RoleNeed
from flask_restful import Api

bcrypt = Bcrypt()
oid = OpenID()
oauth = OAuth()

admin_permission = Permission(RoleNeed('admin'))
poster_permission = Permission(RoleNeed('poster'))

login_manager = LoginManager()

login_manager.login_view = "main.login"
login_manager.session_protection = "strong"
login_manager.login_message = "Please login to access this page"
login_manager.login_message_category = "info"

@login_manager.user_loader
def load_user(userid):
	from models import User
	return User.query.get(userid)

@oid.after_login
def create_or_login(resp):
	from models import db, User
	username = resp.fullname or resp.fullname or resp.email
Пример #34
0
from flask import Flask, redirect, url_for, session, request, render_template
from flask_oauth import OAuth
import functools

from vk_client import *
from listenit_db import *


app = Flask(__name__, static_folder='static', static_url_path='static')
app.config.from_envvar('SETTINGS')

oauth = OAuth()
vk_client = VKClient(api_url=app.config['VK_API_URL'])
db = Database(db_name=app.config['DB_NAME'], db_path=app.config['DB_PATH'])


vk_oauth = oauth.remote_app('vk',
	base_url				= app.config['VK_OAUTH_URL'],	
	consumer_key			= app.config['VK_APP_ID'],
	consumer_secret			= app.config['VK_APP_SECRET'],
	access_token_url		= '/access_token',
	authorize_url			= '/authorize',
	request_token_url		= None,	
	request_token_params	= {'scope': 'email'}
)

@vk_oauth.tokengetter
def get_vk_oauth_token():	
	return session.get('oauth_token')

Пример #35
0
from flask_oauth import OAuth
from model import db, Usuario

TWITTER_APP_ID = 'F3MOphJZbUNFn7UdbNnwFg'
TWITTER_APP_SECRET = 'rVBDWIAYEJvehgwgA3fgDiKlXcANNr9shwOjLsi6nA'
FACEBOOK_APP_ID = '523024991088570'
FACEBOOK_APP_SECRET = 'e75ff46a7b0bcd6b949db7fc14c7a1cf'

oauth = OAuth()

twitter = oauth.remote_app('twitter',
    base_url='https://api.twitter.com/1/',
    request_token_url='https://api.twitter.com/oauth/request_token',
    access_token_url='https://api.twitter.com/oauth/access_token',
    authorize_url='https://api.twitter.com/oauth/authenticate',
    consumer_key=TWITTER_APP_ID,
    consumer_secret=TWITTER_APP_SECRET
)

facebook = oauth.remote_app('facebook',
    base_url='https://graph.facebook.com/',
    request_token_url=None,
    access_token_url='/oauth/access_token',
    authorize_url='https://www.facebook.com/dialog/oauth',
    consumer_key=FACEBOOK_APP_ID,
    consumer_secret=FACEBOOK_APP_SECRET,
    request_token_params={'scope': 'email'}
)

def usuario_en_session(session):
    if 'user_id' in session:
Пример #36
0
import csv
from datetime import datetime, timedelta
import time
import ast
import os
import tweepy
from flask_oauth import OAuth
from dm import parse_tweets
from engine.initiate_dm import get_ngo, initiate_dm

consumer_key=os.environ['TWITTER_CONSUMER_KEY']
consumer_secret=os.environ['TWITTER_CONSUMER_SECRET']
access_token_key=os.environ['TWITTER_ACCESS_TOKEN_KEY']
access_token_secret=os.environ['TWITTER_ACCESS_TOKEN_SECRET']

oauth = OAuth()

twitter = oauth.remote_app('twitter',
  base_url='https://api.twitter.com/1.1/',
  request_token_url='https://api.twitter.com/oauth/request_token',
  access_token_url='https://api.twitter.com/oauth/access_token',
  authorize_url='https://api.twitter.com/oauth/authenticate',
  consumer_key=consumer_key,
  consumer_secret=consumer_secret
)

TWITTER_REQUEST_TOKEN = 'https://api.twitter.com/oauth/request_token'

app = Flask(__name__)

# Required to use Flask sessions and the debug toolbar
Пример #37
0
THE SOFTWARE.

Example consumer. This is not recommended for production.
Instead, you'll want to create your own subclass of OAuthClient
or find one that works with your web framework.
"""

import urllib2
from flask import Blueprint, request, Response, redirect, session, url_for, flash, json
from werkzeug.exceptions import BadRequest, Unauthorized
from flask_oauth import OAuth, OAuthException
from indicomobile import app
from indicomobile.views.errors import generic_error_handler

oauth_client = Blueprint('oauth_client', __name__, template_folder='templates')
oauth = OAuth()
oauth_indico_mobile = oauth.remote_app('indico_mobile',
    base_url=app.config['INDICO_URL'],
    request_token_url=app.config['REQUEST_TOKEN_URL'],
    access_token_url=app.config['ACCESS_TOKEN_URL'],
    authorize_url=app.config['AUTHORIZE_URL'],
    consumer_key=app.config['CONSUMER_KEY'],
    consumer_secret=app.config['CONSUMER_SECRET']
)

@oauth_indico_mobile.tokengetter
def get_token():
    return session.get('indico_mobile_token')


@oauth_client.route('/login/', methods=['GET'])
Пример #38
0
#! /usr/bin/env python

from flask import Flask, render_template, request, url_for, redirect, session, flash, abort
from flask_oauth import OAuth
import os
import mongo
import datetime

app = Flask(__name__) 

app.secret_key = os.environ.get('API_SECRET_KEY')

oauth = OAuth()

facebook = oauth.remote_app('facebook',
    base_url='https://graph.facebook.com/',
    request_token_url=None,
    access_token_url='/oauth/access_token',
    authorize_url='https://www.facebook.com/dialog/oauth',
    consumer_key= os.environ.get('CONSUMER_KEY'),
    consumer_secret=os.environ.get('CONSUMER_SECRET'),
    request_token_params={'scope': ('email, ')}
)

@app.route('/')
def index():
	return render_template('index.html')

@facebook.tokengetter
def get_facebook_token(token=None):
	return session.get('facebook_token')
Пример #39
0
from instagram.client import InstagramAPI

from cluster.instagram_locations import InstagramExplorer
from cluster.twitter_locations import TwitterExplorer

app = Flask(__name__)

# Load default config
app.config.update(dict(
    SECRET_KEY=os.getenv('FLASK_SECRET_KEY'),
    USERNAME=os.getenv('FLASK_USERNAME'),
    PASSWORD=os.getenv('FLASK_PASSWORD')
))

Bootstrap(app)
oauth = OAuth()


def log_to_stderr(app):
    handler = logging.StreamHandler(sys.stderr)
    handler.setFormatter(Formatter(
    '%(asctime)s %(levelname)s: %(message)s '
    '[in %(pathname)s:%(lineno)d]'
    ))
    handler.setLevel(logging.WARNING)
    app.logger.addHandler(handler)

log_to_stderr(app)

if not os.getenv('FLASK_SECRET_KEY'):
    raise Exception("Missing FLASK_SECRET_KEY env variable")

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db'
app.config['WTF_CSRF_SECRET_KEY'] = 'random key for form'
db = SQLAlchemy(app)

app.secret_key = 'some_random_key'

login_manager = LoginManager()
login_manager.init_app(app)
login_manager.login_view = 'login'

oid = OpenID(app, 'openid-store')

oauth = OAuth()

facebook = oauth.remote_app('facebook',
    base_url='https://graph.facebook.com/',
    request_token_url=None,
    access_token_url='/oauth/access_token',
    authorize_url='https://www.facebook.com/dialog/oauth',
    consumer_key='FACEBOOK_APP_ID',
    consumer_secret='FACEBOOK_APP_SECRET',
    request_token_params={'scope': 'email'}
)

google = oauth.remote_app('google',
    base_url='https://www.google.com/accounts/',
    authorize_url='https://accounts.google.com/o/oauth2/auth',
    request_token_url=None,
Пример #41
0
from flask_oauth import OAuth
from qb import create_customer, add_customer, req_context
from utils import excel, configRead

# configuration
SECRET_KEY = 'dev key'
DEBUG = True
font_color = 'black'
consumerTokens = configRead.consumerTokens()
oauth_url = configRead.oauthUrl()

# setup flask
app = Flask(__name__)
app.debug = DEBUG
app.secret_key = SECRET_KEY
oauth = OAuth()

qbo = oauth.remote_app('qbo',
                       base_url=oauth_url.base_url,
                       request_token_url=oauth_url.request_token_url,
                       access_token_url=oauth_url.access_token_url,
                       authorize_url=oauth_url.authorize_url,
                       consumer_key=consumerTokens.consumer_key,
                       consumer_secret=consumerTokens.consumer_sec)


@qbo.tokengetter
def get_qbo_token(token=None):
    if session.has_key('qbo_token'):
        del session['qbo_token']
    return session.get('qbo_token')
Пример #42
0
KAKAO_APP_SECRET = 'abcdefgh'

# app = Flask('project')
app = Flask(__name__)

SENDING_IMAGE_PATH = 'http://13.124.79.162:8000/'
UPLOAD_FOLDER = '/home/ec2-user/OurMemories/Server/uploadFolder'  # 아마존 컴퓨터에 이미지 저장되는 경로
ALLOWED_EXTENSIONS = set(['txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif', 'mp4'])
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
# app.config['MAX_CONTENT_LENGTH'] = 16 * 1024 * 1024

app.config['SESSION_TYPE'] = 'filesystem'
app.config['SECRET_KEY'] = 'ill never tell'
app.debug = True

oauth = OAuth()

facebook = oauth.remote_app(
    'facebook',
    consumer_key=FACEBOOK_APP_ID,
    consumer_secret=FACEBOOK_APP_SECRET,
    request_token_params={'scope': 'email, public_profile'},
    base_url='https://graph.facebook.com',
    request_token_url=None,
    access_token_url='/oauth/access_token',
    access_token_method='GET',
    authorize_url='https://www.facebook.com/dialog/oauth')

kakao = oauth.remote_app(
    'kakao',
    base_url='https://kauth.kakao.com',
Пример #43
0
from sqlalchemy.exc import IntegrityError

import requests
from json import loads

from webrob.app_and_db import app, db
from webrob.models.users import User
from webrob.startup.init_app import add_user
from webrob.config.settings import FACEBOOK_APP_TOKENS, TWITTER_APP_TOKENS, GITHUB_APP_TOKENS, GOOGLE_APP_TOKENS

__author__ = '*****@*****.**'

GOOGLE_OAUTH_USERINFO = 'https://www.googleapis.com/oauth2/v1/userinfo'

oauth = OAuth()


def tokens_are_defined(tokens):
    (tok0, tok1) = tokens
    return len(tok0) > 0 and len(tok1) > 0


github = oauth.remote_app(
    'github',
    base_url='https://api.github.com/',
    access_token_method='POST',
    access_token_url='https://github.com/login/oauth/access_token',
    authorize_url='https://github.com/login/oauth/authorize',
    request_token_url=None,
    request_token_params=None,
Пример #44
0
    session['twitter_token'] = None
    return twitter.authorize(callback=url_for('login_twitter_authorized',
                                              next=request.args.get('next')
                                              or request.referrer or None))


@app.route('/login/facebook/')
def login_facebook():
    session['facebook_token'] = None
    return facebook.authorize(callback=url_for(
        'login_facebook_authorized',
        next=request.args.get('next') or request.referrer or url_for('index'),
        _external=True))


oauth = OAuth()
twitter = oauth.remote_app(
    'twitter',
    base_url='https://api.twitter.com/1/',
    request_token_url='https://api.twitter.com/oauth/request_token',
    access_token_url='https://api.twitter.com/oauth/access_token',
    authorize_url='https://api.twitter.com/oauth/authenticate',
    consumer_key=app.config.get('TWITTER_KEY'),
    consumer_secret=app.config.get('TWITTER_SECRET'))

facebook = oauth.remote_app(
    'facebook',
    base_url='https://graph.facebook.com/',
    request_token_url=None,
    access_token_url='/oauth/access_token',
    authorize_url='https://www.facebook.com/dialog/oauth',
Пример #45
0
    config = configparser.RawConfigParser()
    if os.path.isfile(config_file):
        if accessible_by_group_or_world(config_file):
            print('error: config file ' + config_file +
                  ' has group or world ' +
                  'access; permissions should be set to u=rw')
            sys.exit(1)
        config.read(config_file)
    return config

    ## Google authentication. ##


#: Google authentication (OAuth)
#: **TODO**: Change to *google_oauth*.
oauth = OAuth()

#: Variable prescribed by the Google OAuth API.
#: **TODO:** To accomadate other authentication
#: services, change this to '/authorized/google'
#: (also on code.google.com/apis/console).
REDIRECT_URI = '/authorized'
REDIRECT_URI_ORCID = '/authorized/orcid'


#: Get Google authentication. Client ID and secrets are drawn from a
#: config file which may contain multiple values for various
#: deplo9yments. NOTE The client ID **should** never be published
#: and the secret **must** never be published.
def get_google_auth(client_id, client_secret):
    google = oauth.remote_app(
Пример #46
0

PATH_TO_CLIENT_SECRET = 'instance/client_secret.json'

CLIENT_ID = json.loads(
    open(PATH_TO_CLIENT_SECRET, 'r').read())['web']['client_id']
CLIENT_SECRET = json.loads(
    open(PATH_TO_CLIENT_SECRET, 'r').read())['web']['client_secret']
APPLICATION_NAME = "Jaot"

login_manager.init_app(app)
login_manager.login_view = 'login'

principals = Principal(app)
admin_permission = Permission(RoleNeed('admin'))
oauth = OAuth()
    
facebook = oauth.remote_app('facebook',
    base_url = "https://graph.facebook.com/v2.3/",
    request_token_url = None,
    access_token_url = "/oauth/access_token",
    authorize_url="https://www.facebook.com/dialog/oauth",
    consumer_key = app.config['FB_APP_KEY'],
    consumer_secret = app.config['FB_APP_SECRET'],
    request_token_params = {'scope':'email'}
    )
google = oauth.remote_app('google',
    base_url='https://www.google.com/accounts/',
    authorize_url='https://accounts.google.com/o/oauth2/auth',
    request_token_url=None,
    request_token_params={'scope': 'https://www.googleapis.com/auth/userinfo.email',
Пример #47
0
#environment variables
PORT = int(os.environ.get('PORT', 5000))
GOOGLE_API_KEY = os.environ.get('GOOGLE_API_KEY')
GOOGLE_CLIENT_ID = os.environ.get('GOOGLE_CLIENT_ID')
GOOGLE_CLIENT_SECRET = os.environ.get('GOOGLE_CLIENT_SECRET')
REDIRECT_URI = os.environ.get('REDIRECT_URI')
SECRET_KEY = os.environ.get('SECRET_KEY')
DEBUG = os.environ.get('DEBUG')

app = Flask(__name__)
app.debug = DEBUG
app.secret_key = SECRET_KEY
app.port = PORT
app.host = '0.0.0.0'
oauth = OAuth()

# to connect to a remote app create a OAuth object and register a remote app using remote_app()
google = oauth.remote_app('google',
    base_url='https://www.google.com/accounts/',
    authorize_url='https://accounts.google.com/o/oauth2/auth',
    request_token_url=None,
    request_token_params={'scope': 'https://www.googleapis.com/auth/calendar',
        'response_type': 'code'},
    access_token_url='https://accounts.google.com/o/oauth2/token',
    access_token_method='POST',
    access_token_params={'grant_type': 'authorization_code'},
    consumer_key=GOOGLE_CLIENT_ID,
    consumer_secret=GOOGLE_CLIENT_SECRET)

Пример #48
0
from flask_oauth import OAuth

from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.orm import scoped_session, sessionmaker
from sqlalchemy.ext.declarative import declarative_base

# configuration
DATABASE_URI = 'sqlite:///flask-oauth-.db'
SECRET_KEY = 'development key'
DEBUG = True

# setup flask
app = Flask(__name__)
app.debug = DEBUG
app.secret_key = SECRET_KEY
oauth = OAuth()

# Use Twitter as example remote application
twitter = oauth.remote_app(
    'twitter',
    # unless absolute urls are used to make requests, this will be added
    # before all URLs.  This is also true for request_token_url and others.
    base_url='https://api.twitter.com/1/',
    # where flask should look for new request tokens
    request_token_url='https://api.twitter.com/oauth/request_token',
    # where flask should exchange the token with the remote application
    access_token_url='https://api.twitter.com/oauth/access_token',
    # twitter knows two authorizatiom URLs.  /authorize and /authenticate.
    # they mostly work the same, but for sign on /authenticate is
    # expected because this will give the user a slightly different
    # user interface on the twitter side.
Пример #49
0
from flask import Flask, redirect, url_for, session
from flask_oauth import OAuth


MICROSOFT_CLIENT_ID = 'CLIENT_ID'
MICROSOFT_CLIENT_SECRET = 'CLIENT_SECRET'
REDIRECT_URI = '/microsoft_callback' 

SECRET_KEY = 'development key'
DEBUG = True

app = Flask(__name__)
app.debug = DEBUG
app.secret_key = SECRET_KEY
oauth = OAuth()

microsoft = oauth.remote_app('microsoft',
    base_url='https://login.live.com',
    authorize_url='https://login.live.com/oauth20_authorize.srf',
    request_token_url=None,
    request_token_params={'scope': 'wl.signin wl.emails',
                          'response_type': 'code'},
    access_token_url='https://login.live.com/oauth20_token.srf',
    access_token_method='POST',
    access_token_params={'grant_type': 'authorization_code'},
    consumer_key=MICROSOFT_CLIENT_ID,
    consumer_secret=MICROSOFT_CLIENT_SECRET)

@app.route('/')
def index():
    access_token = session.get('access_token')
Пример #50
0
from flask import Blueprint, render_template, request, redirect, url_for, Response
from flask.views import MethodView
from flask.ext.login import login_required, current_user
from lablog import config
from lablog.models.client import SocialAccount, FacebookPage, PageCategory
from flask_oauth import OAuth
import logging
from urlparse import parse_qs, urlparse
import json

oauth = OAuth()

facebook = Blueprint(
    "facebook",
    __name__,
    template_folder=config.TEMPLATES,
    url_prefix="/auth/facebook",
)

fb_app = oauth.remote_app(
    'facebook',
    base_url='https://graph.facebook.com/',
    request_token_url=None,
    access_token_url='/oauth/access_token',
    authorize_url='https://www.facebook.com/dialog/oauth',
    consumer_key=config.FACEBOOK_APP_ID,
    consumer_secret=config.FACEBOOK_APP_SECRET,
    request_token_params={'scope': 'manage_pages,read_insights,ads_management'}
)

@fb_app.tokengetter
Пример #51
0
import db
from functools import wraps
from flask_oauth import OAuth
import facebook
from flask import Flask, render_template, request, redirect, session, url_for, flash, jsonify
import json, urllib, urllib2
import key
from bson.objectid import ObjectId

app = Flask(__name__)

app.secret_key = "don't store this on github"
app.debug = True

oauth = OAuth()
facebook = oauth.remote_app('facebook',
    base_url='https://graph.facebook.com/',
    request_token_url=None,
    access_token_url='/oauth/access_token',
    authorize_url='https://www.facebook.com/dialog/oauth',
    consumer_key=key.key()[0],
    consumer_secret=key.key()[1],
    request_token_params={'scope': 'user_friends, email'}
)

def login_required(f):
    @wraps(f)
    def inner(*args, **kwargs):
        if session["name"]==None:
            flash("You must login to access this protected page!")
            session['nextpage'] = request.url
Пример #52
0
"""
Thats how you post a link on user's wall!
post_id = graph.put_wall_post("Yep :)",{"name":"Test Link", "link":"http://fb.mermers.net/fb","caption":"Test Caption","description":"Test Description","picture":"http://images.nationalgeographic.com/wpf/media-live/photos/000/687/cache/bonobo-congo-ziegler_68751_990x742.jpg",'privacy':{'value':'SELF'}})['id']
"""

SECRET_KEY = 'Nadav Mermer'
DEBUG = True
FACEBOOK_APP_ID = '324858954337623'
FACEBOOK_APP_SECRET = 'de6cd1c9f02cf369745b284eed772852'
OUTFITSUS_ALBUM_NAME = 'outfitsus'
ALLOWED_EXTENSIONS = set(['bmp', 'png', 'jpg', 'jpeg', 'gif'])

app = Flask(__name__)
app.debug = DEBUG
app.secret_key = SECRET_KEY
oauth = OAuth()
# init db connection
eng = create_engine("mysql://*****:*****@localhost/outfitsus", encoding='utf-8', echo=False)
meta = MetaData(bind=eng)
meta.reflect()
class User(object):
    pass
class Post(object):
    pass
usermapper = mapper(User, meta.tables['fb_logged_users'])
postmapper = mapper(Post, meta.tables['fb_users_posts'])

facebook = oauth.remote_app('facebook',
    base_url='https://graph.facebook.com/',
    request_token_url=None,
    access_token_url='/oauth/access_token',
Пример #53
0
from flask_oauth import OAuth

from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.orm import scoped_session, sessionmaker
from sqlalchemy.ext.declarative import declarative_base

# configuration
DATABASE_URI = 'sqlite:////tmp/flask-oauth.db'
SECRET_KEY = 'development key'
DEBUG = True

# setup flask
app = Flask(__name__)
app.debug = DEBUG
app.secret_key = SECRET_KEY
oauth = OAuth()

# Use Twitter as example remote application
twitter = oauth.remote_app('twitter',
    # unless absolute urls are used to make requests, this will be added
    # before all URLs.  This is also true for request_token_url and others.
    base_url='https://api.twitter.com/1/',
    # where flask should look for new request tokens
    request_token_url='https://api.twitter.com/oauth/request_token',
    # where flask should exchange the token with the remote application
    access_token_url='https://api.twitter.com/oauth/access_token',
    # twitter knows two authorizatiom URLs.  /authorize and /authenticate.
    # they mostly work the same, but for sign on /authenticate is
    # expected because this will give the user a slightly different
    # user interface on the twitter side.
    authorize_url='https://api.twitter.com/oauth/authenticate',
Пример #54
0
from flask import Markup
from flask_oauth import OAuth

# Configuration
DATABASE = 'data/flaskr.db'
DEBUG = True
SECRET_KEY = 'development key'
AUTHORS = ['petemarshall77']

# On Bluemix, get the port number from environment variable VCAP_APP_PORT
# or default to 5000 on localhost
port = int(os.getenv('VCAP_APP_PORT', 5000))


# Set up OAuth link to Twitter
oauth = OAuth()
twitter = oauth.remote_app('twitter',
                           base_url = 'https://api.twitter.com/1',
                           request_token_url = 'https://api.twitter.com/oauth/request_token',
                           access_token_url = 'https://api.twitter.com/oauth/access_token',
                           authorize_url = 'https://api.twitter.com/oauth/authorize',
                           consumer_key = os.getenv('TWITTER_CONSUMER_KEY'),
                           consumer_secret = os.getenv('TWITTER_CONSUMER_SECRET'))

# Create the application
app = Flask(__name__)
app.config.from_object(__name__)


def connect_db():
    """Connect to the specified database"""
Пример #55
0
from pyechonest import config
from redis import StrictRedis
from rdio import Rdio

domain = 'localhost'

app = Flask(__name__)

app.config['MONGO_DBNAME'] = 'db'
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////db.sqlite'
app.secret_key = 'super secret'
app.debug = True

config.ECHO_NEST_API_KEY = 'ZMBQQBZ4DBZVTKOTB'

oauth = OAuth()
facebook = oauth.remote_app(
    'facebook',
    base_url='https://graph.facebook.com/',
    request_token_url=None,
    access_token_url='/oauth/access_token',
    authorize_url='https://www.facebook.com/dialog/oauth',
    consumer_key='255490651260325',
    consumer_secret='8fd6a30d356b85bfa58daa327c9eacea',
    request_token_params={'scope': 'email'})

redis = StrictRedis()

_rdio_token = None
_rdio = Rdio(('yjgnkcp2kr8ykwwjtujb5ajv', 'trpsv6n6gm'))
def new_profile():
    return render_template('new_profile.html', app='profile')




@app.route("/get_listing")
def get_listing():

    return jsonify({'name':'Rafael Sandroni','user':'******','picture':'https://getmdl.io/templates/dashboard/images/user.jpg','reviews':'22','score':'TOP'})


#OAuth


oauth = OAuth()

FACEBOOK_APP_ID = '1562276827406360'
FACEBOOK_APP_SECRET = '005e8d19cb24bfb35c5dea8c71968e7d'

facebook = oauth.remote_app('facebook',
    base_url='https://graph.facebook.com/',
    request_token_url=None,
    access_token_url='/oauth/access_token',
    authorize_url='https://www.facebook.com/dialog/oauth',
    consumer_key=FACEBOOK_APP_ID,
    consumer_secret=FACEBOOK_APP_SECRET,
    request_token_params={'scope': 'email,user_photos'}
)

Пример #57
0
import datetime

# API Keys
with open('api_keys.json', 'r') as keyfile:
    keys = json.loads(keyfile.read())
    FIREBASE_KEY = keys['FIREBASE_KEY']
    FIREBASE_SECRET = keys['FIREBASE_SECRET']
    FLASK_SECRET = keys['FLASK_SECRET']
    TWITTER_KEY = keys['TWITTER_KEY']
    TWITTER_SECRET = keys['TWITTER_SECRET']

# Global Objects
app = Flask(__name__)
app.secret_key = FLASK_SECRET
firebase = firebase.FirebaseApplication(FIREBASE_ADDR, None)
oauth = OAuth()
twitter = oauth.remote_app('twitter',
    base_url='https://api.twitter.com/1.1/', #API_V1.1
    request_token_url='https://api.twitter.com/oauth/request_token',
    access_token_url='https://api.twitter.com/oauth/access_token',
    authorize_url='https://api.twitter.com/oauth/authorize',
    consumer_key=TWITTER_KEY,
    consumer_secret=TWITTER_SECRET
)

# Twitter Session
@twitter.tokengetter
def get_twitter_token(token=None):
    return session.get('twitter_token')

# Index
Пример #58
0
from flask import Flask, redirect, url_for, session
from flask_oauth import OAuth

# Using the google client credentials for QueueMe
GOOGLE_CLIENT_ID = '754303153308-qaqmdiatu2a8jkqh3ndjbg553akcscrf.apps.googleusercontent.com'
GOOGLE_CLIENT_SECRET = 'PP48HeZzf5YDeF7mx4gbrsda'
REDIRECT_URI = '/loginCallback'  # one of the Redirect URIs from Google APIs console

SECRET_KEY = 'queue-me key'
DEBUG = True

app = Flask(__name__)
app.debug = DEBUG
app.secret_key = SECRET_KEY
oauth = OAuth()

google = oauth.remote_app(
    'google',
    base_url='https://www.google.com/accounts/',
    authorize_url='https://accounts.google.com/o/oauth2/auth',
    request_token_url=None,
    request_token_params={
        'scope': 'https://www.googleapis.com/auth/userinfo.email',
        'response_type': 'code'
    },
    access_token_url='https://accounts.google.com/o/oauth2/token',
    access_token_method='POST',
    access_token_params={'grant_type': 'authorization_code'},
    consumer_key=GOOGLE_CLIENT_ID,
    consumer_secret=GOOGLE_CLIENT_SECRET)
Пример #59
0
# coding: utf-8
__author__ = 'Stanislav Varnavsky'

from flask import session
from flask_oauth import OAuth
from config import OAUTH_CREDENTIALS

AUTH = {
    'facebook': 1,
    'vk':       2,
    'google':   3,
    'yandex':   4
}

oauth = OAuth()
credentials = OAUTH_CREDENTIALS
twitter = oauth.remote_app('twitter',
                           base_url='https://api.twitter.com/',
                           request_token_url='https://api.twitter.com/oauth2/request_token',
                           access_token_url='https://api.twitter.com/oauth2/access_token',
                           authorize_url='https://api.twitter.com/oauth2/authorize',
                           consumer_key='AQHivz7uPxuO1TTe7GlCFWHPB',
                           consumer_secret='CuiZoB2DhU6fDGmx9qibWAjUc2EC3uRkhuV4uqDixjYIE4aKgH'
                           )

vk = oauth.remote_app('vk',
                      base_url='https://api.vk.com/',
                      request_token_url=None,
                      access_token_url='https://oauth.vk.com/access_token',
                      authorize_url='https://oauth.vk.com/authorize',
                      consumer_key=credentials['vk']['key'],