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
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
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
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
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
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
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')
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
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
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
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
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()
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'))
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']
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
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'))
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_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
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
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'})
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
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
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
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)
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
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" )
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
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']
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
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'])
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'})
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'])
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
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')
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:
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
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'])
#! /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')
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,
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')
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',
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,
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',
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(
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',
#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)
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.
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')
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
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
""" 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',
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',
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"""
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'} )
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
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)
# 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'],