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_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 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 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 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 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
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_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']
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
from db import Database from math import ceil ID = '447046728730795' SECRET = 'd35de165559856b3479fa650909642ed' KEY = 'aneeshhammadluke' app = Flask(__name__) app.debug = True app.secret_key = KEY oauth = OAuth() fb = oauth.remote_app('facebook', base_url='https://graph.facebook.com/', request_token_url=None, access_token_url='/oauth/access_token', authorize_url='https://facebook.com/dialog/oauth', consumer_key=ID, consumer_secret= SECRET, request_token_params={'scope':('email, read_mailbox, read_stream, user_photos, user_friends, read_friendlists')}) @fb.tokengetter def get_token(): return session.get('oauth_token') @app.route('/') @app.route('/index') def index(): return render_template('index.html') @app.route('/login') def login():
user = User.query.filter_by(username=username).first() if user is None: user = User(username) db.session.add(user) db.session.commit() # # Log the user in # return redirect(url_for('blog.home')) 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='784131115083402', consumer_secret='93835302657b088f25c095e811301b40', request_token_params={'scope': 'email'}) 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='pCctFa1eMT1D8WOMfVPrxfSsZ', consumer_secret='a5lC1xmjeGBZAzCque228ifBypAE832E00SsRYdByxe5Zt1qPG')
# configuration SECRET_KEY = 'dev key' DEBUG = True # setup flask app = Flask(__name__) app.debug = DEBUG app.secret_key = SECRET_KEY if config.AUTH_TYPE == 'OAuth1': oauth = OAuth() qbo = oauth.remote_app('qbo', base_url=config.OAUTH1_BASE, request_token_url=config.REQUEST_TOKEN_URL, access_token_url=config.ACCESS_TOKEN_URL, authorize_url=config.AUTHORIZE_URL, consumer_key=config.CONSUMER_KEY, consumer_secret=config.CONSUMER_SECRET) @app.route('/') def index(): """Index route""" global customer_list customer_list = excel.load_excel() return render_template( 'index.html', customer_dict=customer_list, title="QB Customer Leads", )
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_oauthtok') @oauth_client.route('/login/', methods=['GET']) def login(): return oauth_indico_mobile.authorize(callback=urllib2.unquote(url_for('.oauth_authorized', next=request.args.get('next') or request.referrer or None, _external=True)))
from flask_oauth import OAuth from config import GOOGLE_OAUTH_ID, GOOGLE_OAUTH_SECRET, TWITTER_OAUTH_ID, TWITTER_OAUTH_SECRET, FACEBOOK_OAUTH_ID, FACEBOOK_OAUTH_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': 'email 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=GOOGLE_OAUTH_ID, consumer_secret=GOOGLE_OAUTH_SECRET) 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=TWITTER_OAUTH_ID, consumer_secret=TWITTER_OAUTH_SECRET) facebook = oauth.remote_app( 'facebook',
oauth = OAuth() app.config['SECRET_KEY'] = variables.SECRET_KEY app.config["UPLOAD_FOLDER"] = variables.UPLOAD_FOLDER app.config["RETURN_FOLDER"] = variables.RETURN_FOLDER # RETURN_FOLDER = variables.RETURN_FOLDER UPLOAD_FOLDER = variables.UPLOAD_FOLDER # default is expire in 1 hour: https://stackoverflow.com/questions/13851157/oauth2-and-google-api-access-token-expiration-time 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', 'prompt':'consent', # this field allows refresh_token to be generated every time 'access_type':'offline'}, 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) def authenticate(f): @wraps(f) def wrap(*args, **kwargs): # access_token = session.get('access_token') # # print("ACCESS TOKEN: {}".format(access_token)) # if access_token is None: # return redirect(url_for('login')) # access_token = access_token[0]
user = User.query.filter_by(username=username).first() if user is None: user = User(username) db.session.add(user) db.session.commit() session['username'] = username return redirect(url_for('blog.home')) 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=getenv('FACEBOOK_CONSUMER_KEY'), consumer_secret=getenv('FACEBOOK_SECRET_KEY'), request_token_params={'scope': 'email'}) 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=getenv('TWITTER_CONSUMER_KEY'), consumer_secret=getenv('TWITTER_CONSUMER_SECRET'))
user = User.query.filter_by(username=username).first() if user is None: user = User(username) db.session.add(user) db.session.commit() session['username'] = username return redirect(url_for('blog.home')) 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='', consumer_secret='', request_token_params={'scope': 'email'}) 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_secret='')
import base64 import json import os from urllib import urlencode from config import * app = Flask(__name__) app.secret_key = 'abcdeghji' app.debug = True oauth = OAuth() facebook = oauth.remote_app('facebook', base_url=BASE_URL, request_token_url=REQUEST_TOKEN_URL, access_token_url=ACCESS_TOKEN_URL, authorize_url=AUTHORIZE_URL, consumer_key=CONSUMER_KEY, consumer_secret=CONSUMER_SECRET, request_token_params={'scope': 'user_photos, user_photo_video_tags, friends_photo_video_tags',}, ) def validate_signed_fb_request(signed_request): """ Returns dictionary with signed request data """ try: l = signed_request.split('.', 2) encoded_sig = str(l[0]) payload = str(l[1]) except IndexError: raise ValueError("'signed_request' malformed") sig = base64.urlsafe_b64decode(encoded_sig + "=" * ((4 - len(encoded_sig) % 4) % 4))
from wemo_controller import wemo import settings app = Flask(__name__) app.secret_key = settings.SECRET_KEY app.debug = True # Google OAuth setup 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=settings.GOOGLE_CLIENT_ID, consumer_secret=settings.GOOGLE_CLIENT_SECRET) @google.tokengetter def get_access_token(): return session.get("access_token") @app.route("/") def default():
logging.getLogger("requests").setLevel(logging.WARNING) logging.getLogger("urllib3").setLevel(logging.WARNING) app = Flask('twitter-gender-proportion') app.config['SECRET_KEY'] = os.environ['COOKIE_SECRET'] app.config['DRY_RUN'] = False CONSUMER_KEY = os.environ.get('CONSUMER_KEY') CONSUMER_SECRET = os.environ.get('CONSUMER_SECRET') TRACKING_ID = os.environ.get('TRACKING_ID') 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=os.environ['CONSUMER_KEY'], consumer_secret=os.environ['CONSUMER_SECRET']) @twitter.tokengetter def get_twitter_token(token=None): return session.get('twitter_token') @app.route('/login') def login(): callback = '/authorized' next_url = request.args.get('next') or request.referrer if next_url:
FACEBOOK_APP_ID = '296763407509160' FACEBOOK_APP_SECRET = '6799f7f9623bab0918ce7531bc774506' app = Flask(__name__) app.debug = DEBUG app.secret_key = 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=FACEBOOK_APP_ID, consumer_secret=FACEBOOK_APP_SECRET, request_token_params={ 'scope': 'user_likes', 'auth_type': 'rerequest' }, ) @app.route('/') def index(): return redirect(url_for('login')) @app.route('/login') def login():
import os import humanize import dateutil.parser MY_STATHAT_USER = os.environ.get('STATHAT_USER') MY_CONSUMER_KEY = os.environ.get('CONSUMER_KEY') MY_CONSUMER_SECRET = os.environ.get('CONSUMER_SECRET') # Setup # ---------------------------- oauth = OAuth() fitbit_app = oauth.remote_app( 'fitbit', base_url='https://api.fitbit.com', request_token_url='http://api.fitbit.com/oauth/request_token', access_token_url='http://api.fitbit.com/oauth/access_token', authorize_url='http://www.fitbit.com/oauth/authorize', consumer_key=MY_CONSUMER_KEY, consumer_secret=MY_CONSUMER_SECRET ) # Logging # ---------------------------- def email_log(message): msg = Message("%s Notice Fitboard" % (message), recipients=["*****@*****.**"]) msg.body = "NOTICE %s \n Logile Attached \n" % (message) with app.open_resource("fitboard.log") as fp: msg.attach("fitboard.log", "text/plain", fp.read())
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'], consumer_secret=credentials['vk']['secret'], request_token_params={'scope': 'email'} )
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, 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',
class ClientPosts(): def __init__(self, client, since): self.oauth = OAuth() self.client = client self.since = since self.INFLUX = db.init_influxdb() self.ES = db.init_elasticsearch() 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_feed() def get_token(self): return (self.client.facebook_page.token, config.FACEBOOK_APP_SECRET) def get_count(self, url): name = "insights.{}.post.{}".format(self.client._id, url) q = "select count(type) from {}".format(name) try: res = self.INFLUX.query(q) return res[0]['points'][0][1] except Exception as e: logging.warn(e) return None def write_data(self, post): p_id = post.get("id") post['client'] = str(self.client._id) self.ES.index(index=config.ES_INDEX, doc_type=config.POST_RECORD_TYPE, body=post, id=p_id) shares = post.get("shares", {}).get("count", 0) tm = time.time() self.write_influx([(tm, shares, 'shares')], url="{}.{}".format(p_id, "shares")) for i in POST_INSIGHTS: url = "{}.{}".format(p_id, i) count = self.get_count(url) points = [(time.time(), 0, i)] if count == None else [] data = post.get(i) for d in data[count:]: ct = d.get("created_time") if ct: tm = time.mktime( time.strptime(d.get("created_time"), date_format)) logging.info("Comment Time:{}".format(tm)) else: tm = time.time() points.append((tm, 1, i)) self.write_influx(points, url) def get_feed(self): id = self.client.facebook_page.id data = {"limit": 250} if self.since: data['since'] = time.mktime(self.since.timetuple()) res = self.fb_app.get( "/v2.2/{}/feed".format(id), data=data, ) for p in res.data.get('data'): p_id = p.get("id") for i in POST_INSIGHTS: p[i] = self.page(p_id, i, p.get(i, {})) self.write_data(p) since = datetime.datetime.strptime(p.get("created_time"), date_format) i = Insights(client=self.client, id=p.get('id'), since=since, typ="post") def page(self, post_id, typ, data): res = [a for a in data.get("data", [])] cursors = data.get("paging", {}).get("cursors", {}) if cursors.get('before') == cursors.get('after'): return res last = {'before': cursors['before'], 'after': cursors['after']} for i in last: while last[i]: resp = self.fb_app.get( "/v2.2/{}/{}".format(post_id, typ), data={ "limit": 250, i: cursors[i] }, ) res += [a for a in resp.data.get("data")] af = resp.data.get("paging", {}).get(i) last[i] = af if af != last[i] else None return res def write_influx(self, points, url): data = [ dict(name="insights.{}.post.{}".format(self.client._id, url), columns=["time", "value", "type"], points=points) ] logging.info("Writing: {}".format(data)) try: res = self.INFLUX.write_points(data) logging.info(res) except Exception as e: logging.warning(e)
# # This code is not pythonic - # #***************************************************************************** from flask_oauth import OAuth from flask import redirect from flask import session oauth=OAuth() callbackurl = 'https://oauthclient.com/api/forms/login' 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='<your key here>', consumer_secret='<your secret here>' ) @twitter.tokengetter #Registers function get_twitter_token as tokengetter def get_twitter_token(token=None): """This method is used to get the access token received earlier from the auth server or Identity provider on a per user basis. Saving it in session keeps the token on a user basis. Can/should this be stored in db? """ return session.get('twitter_token') @app.route('/users/<userid>/data') #Need to recheck this endpoint- when user clicks show my bank info after
oauth = OAuth() facebook = Blueprint( "facebook", __name__, template_folder=config.TEMPLATES, subdomain=config.ADMIN_SUBDOMAIN, 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="841699302554888", consumer_secret="415f6cd36c605c47486dedcf27dbe23a", request_token_params={ 'scope': 'manage_pages,read_insights,ads_management' }) @fb_app.tokengetter def get_facebook_token(token=None): sa = current_user.social.facebook return (sa.token, sa.secret) @facebook.route("/login", methods=['GET', 'POST']) @login_required
from os import environ from flask import Flask, g, render_template, Response, redirect, url_for, flash, request, session from flask_oauth import OAuth import config app = Flask(__name__) app.debug = config.DEBUG app.secret_key = config.SECRET_KEY oauth = OAuth() # Facebook-specific OAuth Config 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=config.FACEBOOK_APP_ID, consumer_secret=config.FACEBOOK_APP_SECRET, request_token_params={'scope': 'email'}) @app.before_request def connect_db(): g.db = Connection(config.SPOTIFONT_DB_HOST, config.SPOTIFONT_DB_NAME, config.SPOTIFONT_DB_USER, config.SPOTIFONT_DB_PASSWD) @app.after_request def close_connection(response): g.db.close()
'https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile', 'response_type': 'code' } if settings.GOOGLE_APPS_DOMAIN: request_token_params['hd'] = settings.GOOGLE_APPS_DOMAIN else: logger.warning( "No Google Apps domain defined, all Google accounts allowed.") 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=request_token_params, access_token_url='https://accounts.google.com/o/oauth2/token', access_token_method='POST', access_token_params={'grant_type': 'authorization_code'}, consumer_key=settings.GOOGLE_CLIENT_ID, consumer_secret=settings.GOOGLE_CLIENT_SECRET) blueprint = Blueprint('google_oauth', __name__) def get_user_profile(access_token): headers = {'Authorization': 'OAuth ' + access_token} response = requests.get('https://www.googleapis.com/oauth2/v1/userinfo', headers=headers) if response.status_code == 401:
LAYBY_PAYMENTS_URL = "https://www.fulfilleddesires.net/SALVAGE_SITE_WEB/AU/hookme/REST-CSConnector.awp?thingie=makepartpayment&identifier=" ZIP_DECLINE_URL = "https://www.fulfilleddesires.net/SALVAGE_SITE_WEB/AU/hookme/REST-CSConnector.awp?thingie=ziporderrejected&identifier=" RESET_REQUEST_URL = "https://www.fulfilleddesires.net/SALVAGE_SITE_WEB/AU/hookme/REST-CSConnector.awp?thingie=forgot-password-request" RESET_DATAGET_URL = "https://www.fulfilleddesires.net/SALVAGE_SITE_WEB/AU/hookme/REST-CSConnector.awp?thingie=details-from-request" GLOBAL_BASE_URL = "https://www.fulfilleddesires.net/SALVAGE_SITE_WEB/AU/awp_syshooks" SCHEDULE_URL = "https://www.fulfilleddesires.net/SALVAGE_SITE_WEB/AU/hookme/REST-CSConnector.awp?thingie=schedulepayment" #------------------------------------------------------------------------------- # FACEBOOK AUTHENTICATION #------------------------------------------------------------------------------- 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 AUTH ROUTES #------------------------------------------------------------------------------- @app.route('/facebook') def facebookGet(): return facebook.authorize(callback=url_for( 'facebook_authorized', next=request.args.get('next'), _external=True))
from flask import redirect, url_for, session, request, render_template, jsonify from flask_oauth import OAuth from random import randint from algorithm import User, app, db, fb import hashlib 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="YOUR KEY HERE", consumer_secret="YOUR SECRET HERE", request_token_params={ 'scope': 'user_likes, user_photos, user_friends, user_status, user_posts, read_insights, read_audience_network_insights, read_custom_friendlists, public_profile' }) @app.route('/') def index(): return render_template("login.html") @app.route('/login') def login(): return facebook.authorize(callback=url_for('facebook_authorized', next=request.args.get('next')
# ------------------------------------------------------------------------------ REDIRECT_URI = '/oauth2callback' application = Flask(__name__) application.debug = True application.secret_key = SECRET_KEY oauth = OAuth() google = oauth.remote_app('SmarterEmail', base_url='https://www.googleapis.com/gmail/v1/users/me/messages', authorize_url='https://accounts.google.com/o/oauth2/auth', request_token_url=None, request_token_params={'scope': 'https://www.googleapis.com/auth/gmail.readonly', '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) # ------------------------------------------------------------------------------ def stream_template(template, **context): """ Streams data to template while stuff happens back here. """ application.update_template_context(context) t = application.jinja_env.get_template(template)
# 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.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='qUqCpiM61QgeF8c1ll4gEsK5v', consumer_secret='ZEKy0bhAPzqtTOVloJb31GdnnBXQU0zsXsW9ohKx6Urtw7lQ2q') @twitter.tokengetter def get_twitter_token(token=None): return session.get('twitter_token')
flash('Invalid login. Please try again.', 'danger') return redirect(url_for('main.login')) user = User.query.filer_by(username=username).first() if user is None: user = User(username) db.session.add(user) db.session.commit() load_user(user.id) """ # 用户登录 session['username'] = user.username.data """ return redirect(url_for('blog.home')) 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='114768079229706', consumer_secret='2740b800deeee5585e072e7be70a3379', request_token_params={'scope': 'email'}) @facebook.tokengetter def get_facebook_oauth_token(): return session.get('facebook_oauth_token')
from flask import Flask from flask.ext.sqlalchemy import SQLAlchemy from flask.ext.login import LoginManager from flask.ext.openid import OpenID from flask_oauth import OAuth from config import basedir import os app = Flask(__name__) app.config.from_object('config') db = SQLAlchemy(app) lm = LoginManager() lm.init_app(app) lm.login_view = 'login' oid = OpenID(app, os.path.join(basedir, 'tmp')) 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=413764145465595, consumer_secret='8eb287f3edce544d0a5ad20c2b6a2c90', request_token_params={'scope': 'email'}) from app import views, models
app = Flask(__name__) app.secret_key = 'secret' config = json.load(open('config.json')) #{ #"APPID":"<appid>", #"MYHOST":"<this host>", #"REDIRECT_ROUTE":"<call back route registered with auth service>", #"SECRET":"<secret>", #"TOKENURL":"https://oauth.web.cern.ch/OAuth/Token", #"AUTHORIZEURL":"https://oauth.web.cern.ch/OAuth/Authorize" } oauth = OAuth() oauth_app = oauth.remote_app('oauth_app', base_url=None, request_token_url=None, access_token_url=config['TOKENURL'], authorize_url=config['AUTHORIZEURL'], consumer_key = config['APPID'], consumer_secret = config['SECRET'], request_token_params= {'response_type':'code','scope':'bio'}, access_token_params = {'grant_type':'authorization_code'}, access_token_method = 'POST' ) def user_data(access_token): r = requests.get('https://oauthresource.web.cern.ch/api/Me', headers = {'Authorization':'Bearer {}'.format(session['access_token'])}) return r.json()
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 return redirect(url_for('login')) return f(*args, **kwargs) return inner
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 @app.route('/') def index(): return render_template('index.html') # Login
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') class AuthorizationError(Exception): pass def redirect_if_error(function): @functools.wraps(function)
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') if access_token is None: return redirect(url_for('login')) access_token = access_token[0] from urllib2 import Request, urlopen, URLError
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 app.secret_key = "ABC" DATABASE_URL = os.environ.get("DATABASE_URL", "postgresql://localhost/isafe_db") secret_key = os.environ.get("FLASK_SECRET_KEY", "ABC")
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']) def login(): return oauth_indico_mobile.authorize(callback=urllib2.unquote(url_for('.oauth_authorized', next=request.args.get('next') or request.referrer or None, _external=True))) @oauth_client.route('/logout/', methods=['GET'])
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'} ) @app.route('/registerWithFacebook') def registerWithFacebook(): return facebook.authorize(callback=url_for('facebook_authorized', next=request.args.get('next') or request.referrer or None,action='register', _external=True)) @app.route('/loginWithFacebook') def loginWithFacebook(): return facebook.authorize(callback=url_for('facebook_authorized',
import src.views import random import string from os import environ from flask import Flask from flask_oauth import OAuth app = Flask(__name__, static_folder='static') app.secret_key = environ['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= "894460636145-4f5invh6pj5jb1ttg6bg79ejni1vunou.apps.googleusercontent.com", consumer_secret=environ['GOOGLE_CLIENT_SECRET']) import src.views
# 3. Show the information when you are logging. # 4. Set the Login Messages type as `information`. 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.anonymous_user = CustomAnonymousUser # Create the Flask-OAuth's instance oauth = OAuth() # Create the auth object for facebook. 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='1634926073468088', consumer_secret='a45ec6096ad272c4d61788b912a66394', request_token_params={'scope': 'email'}) # Create the auth object for twitter. 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='<TWITTER_APP_ID>', consumer_secret='<TWITTER_APP_SECRET>') # Create the Flask-Youku's instance
# 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', # the consumer keys from the twitter application registry. consumer_key='xBeXxg9lyElUgwZT6AZ0A', consumer_secret='aawnSpNTOVuDCjx7HMh6uSXetjNN8zWLpZwCEU4LBrk' ) # setup sqlalchemy engine = create_engine(DATABASE_URI) db_session = scoped_session(sessionmaker(autocommit=False, autoflush=False, bind=engine)) Base = declarative_base()
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', '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)
FACEBOOK_APP_ID = '1616471035080729' FACEBOOK_APP_SECRET = 'c8361be5b9f39436dd6aa1442181fde6' app = Flask(__name__) app.debug = DEBUG app.secret_key = SECRET_KEY oauth = OAuth() # I added the following config otherwise, everytime the redirect was giving warning app.config['DEBUG_TB_INTERCEPT_REDIRECTS'] = False 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': ['public_profile','user_friends','email']} request_token_params={'scope': 'public_profile, user_friends, email'}) # @app.route('/home-me') # def check_something(): # return render_template("homepage.html") @app.route('/') def index(): # print session['token']
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) @app.errorhandler(404) def page_not_found(e): return render_template('404.html'), 404 @app.route('/favicon.ico') def favicon(): return send_from_directory("/static", "favicon.ico")
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') def pop_login_session(): session.pop('logged_in', None)
DEBUG = True app = Flask(__name__) app.debug = DEBUG app.secret_key = SECRET_KEY oauth = OAuth() sentry = oauth.remote_app( 'sentry', base_url=BASE_URL, authorize_url='{}/oauth/authorize/'.format(BASE_URL), request_token_url=None, request_token_params={ 'scope': 'project:releases event:read org:read org:write', 'response_type': 'code' }, access_token_url='{}/oauth/token/'.format(BASE_URL), access_token_method='POST', access_token_params={ 'grant_type': 'authorization_code', }, consumer_key=CLIENT_ID, consumer_secret=CLIENT_SECRET, ) @app.route('/') def index(): access_token = session.get('access_token') if access_token is None: return ('<h1>Who are you?</h1>'
# 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', authorize_url='https://www.facebook.com/dialog/oauth', consumer_key=FACEBOOK_APP_ID, consumer_secret=FACEBOOK_APP_SECRET, request_token_params={'scope': 'email,user_birthday,user_photos,publish_actions,user_friends,user_relationships,user_status,read_stream'} ) def allowed_pics(filename): return '.' in filename and filename.rsplit('.', 1)[1] in ALLOWED_EXTENSIONS @app.route('/') def index(): if not get_facebook_oauth_token(): return redirect(url_for('login')) return redirect(url_for('init')) @app.route('/logout')
return intercom.handle_instagram_authorization() #------------------------------------------------------------------------------# # facebook authentication # #------------------------------------------------------------------------------# # To get an access token to consume the API on behalf of a user, use a suitable OAuth library for your platform 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=globalS.dictDb['FACEBOOK_APP_ID'], consumer_secret=globalS.dictDb['FACEBOOK_APP_SECRET'], request_token_params={ 'scope': 'user_location,user_hometown,user_work_history,user_education_history' }) @app.route('/facebook_login') def facebook_login(): return facebook.authorize(callback=url_for('_facebook_authorized', next=request.args.get('next') or request.referrer or None, _external=True))
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""" return sqlite3.connect(app.config['DATABASE']) def init_db(): """Run script to (re)initialize database"""
GOOGLE_CLIENT_SECRET = 'l7a5ztJX5bW9iZBTq81GP-pg' REDIRECT_URI = '/oauth2callback' SECRET_KEY = '8(2:W\x909\x01\xb3F\xd0\x11\x85\xc56\xd1h\xf5\x1bu\r[\xab\x9f' app = Flask(__name__) app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER 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 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 ) # login required decorator def login_required(f): @wraps(f) def wrap(*args, **kwargs): if 'logged_in' in session: return f(*args, **kwargs) else: #flash('You need to login first.')
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:
db = SQLAlchemy(app) admin = Admin(app, name='tops', template_mode='bootstrap3') oauth = OAuth() app.config.update( GOOGLE_CONSUMER_KEY= '655313797231-1m1s6aqi70aedl9k6bh6h3trbpge8t6r.apps.googleusercontent.com', GOOGLE_CONSUMER_SECRET='i9N3ZAmve-5ljeDcBoSDXHyA', SECRET_KEY='just a secret key, to confound the bad guys', DEBUG=True) 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_CONSUMER_KEY'], consumer_secret=app.config['GOOGLE_CONSUMER_SECRET']) class User(db.Model): id = db.Column(db.Integer, primary_key=True) email = db.Column(db.String) tops = db.Column(db.Integer) total_tops = db.Column(db.Integer) def to_dict(self):