import auth import model import util from main import app instagram_config = dict( access_token_method='POST', access_token_url='https://api.instagram.com/oauth/access_token', authorize_url='https://instagram.com/oauth/authorize/', base_url='https://api.instagram.com/v1', consumer_key=model.Config.get_master_db().instagram_client_id, consumer_secret=model.Config.get_master_db().instagram_client_secret, ) instagram = auth.create_oauth_app(instagram_config, 'instagram') @app.route('/api/auth/callback/instagram/') def instagram_authorized(): response = instagram.authorized_response() if response is None: flask.flash('You denied the request to sign in.') return flask.redirect(util.get_next_url()) flask.session['oauth_token'] = (response['access_token'], '') user_db = retrieve_user_from_instagram(response['user']) return auth.signin_user_db(user_db) @instagram.tokengetter
import model import util from main import app github_config = dict( access_token_method='POST', access_token_url='https://github.com/login/oauth/access_token', api_base_url='https://api.github.com/', authorize_url='https://github.com/login/oauth/authorize', client_id=config.CONFIG_DB.github_client_id, client_secret=config.CONFIG_DB.github_client_secret, request_token_params={'scope': 'user:email'}, ) github = auth.create_oauth_app(github_config, 'github') @app.route('/api/auth/callback/github/') def github_authorized(): id_token = github.authorize_access_token() if id_token is None: flask.flash('You denied the request to sign in.') return flask.redirect(util.get_next_url()) me = github.get('user') user_db = retrieve_user_from_github(me.json()) return auth.signin_user_db(user_db) @app.route('/signin/github/') def signin_github():
import util from main import app google_config = dict( access_token_method='POST', access_token_url='https://accounts.google.com/o/oauth2/token', authorize_url='https://accounts.google.com/o/oauth2/auth', base_url='https://www.googleapis.com/plus/v1/people/', consumer_key=config.CONFIG_DB.google_client_id, consumer_secret=config.CONFIG_DB.google_client_secret, request_token_params={'scope': 'email profile'}, ) google = auth.create_oauth_app(google_config, 'google') @app.route('/api/auth/callback/google/') def google_authorized(): response = google.authorized_response() if response is None: flask.flash(__('You denied the request to sign in.')) return flask.redirect(util.get_next_url()) flask.session['oauth_token'] = (response['access_token'], '') me = google.get('me', data={'access_token': response['access_token']}) user_db = retrieve_user_from_google(me.data) return auth.signin_user_db(user_db)
import model import util from main import app google_config = dict( access_token_method='POST', access_token_url='https://accounts.google.com/o/oauth2/token', authorize_url='https://accounts.google.com/o/oauth2/auth', base_url='https://www.googleapis.com/oauth2/v1/', consumer_key=config.CONFIG_DB.google_client_id, consumer_secret=config.CONFIG_DB.google_client_secret, request_token_params={'scope': 'email profile'}, ) google = auth.create_oauth_app(google_config, 'google') @app.route('/api/auth/callback/google/') def google_authorized(): response = google.authorized_response() if response is None: flask.flash('You denied the request to sign in.') return flask.redirect(util.get_next_url()) flask.session['oauth_token'] = (response['access_token'], '') me = google.get('userinfo') user_db = retrieve_user_from_google(me.data) return auth.signin_user_db(user_db)
import config import model import util from main import app dropbox_config = dict( access_token_method='POST', access_token_url='https://api.dropbox.com/1/oauth2/token', authorize_url='https://www.dropbox.com/1/oauth2/authorize', base_url='https://www.dropbox.com/1/', consumer_key=config.CONFIG_DB.dropbox_app_key, consumer_secret=config.CONFIG_DB.dropbox_app_secret, ) dropbox = auth.create_oauth_app(dropbox_config, 'dropbox') @app.route('/_s/callback/dropbox/oauth-authorized/') def dropbox_authorized(): response = dropbox.authorized_response() if response is None: flask.flash('You denied the request to sign in.') return flask.redirect(util.get_next_url()) flask.session['oauth_token'] = (response['access_token'], '') me = dropbox.get('account/info') user_db = retrieve_user_from_dropbox(me.data) return auth.signin_user_db(user_db) @dropbox.tokengetter
import model import util from main import app twitter_config = dict( access_token_url='https://api.twitter.com/oauth/access_token', authorize_url='https://api.twitter.com/oauth/authorize', base_url='https://api.twitter.com/1.1/', consumer_key=config.CONFIG_DB.twitter_consumer_key, consumer_secret=config.CONFIG_DB.twitter_consumer_secret, request_token_url='https://api.twitter.com/oauth/request_token', ) twitter = auth.create_oauth_app(twitter_config, 'twitter') @app.route('/api/auth/callback/twitter/') def twitter_authorized(): response = twitter.authorized_response() if response is None: flask.flash('You denied the request to sign in.') return flask.redirect(util.get_next_url()) flask.session['oauth_token'] = ( response['oauth_token'], response['oauth_token_secret'], ) user_db = retrieve_user_from_twitter(response) return auth.signin_user_db(user_db)
import auth import config import model from main import app bitbucket_config = dict( access_token_url="https://bitbucket.org/api/1.0/oauth/access_token", authorize_url="https://bitbucket.org/api/1.0/oauth/authenticate", base_url="https://api.bitbucket.org/1.0/", consumer_key=config.CONFIG_DB.auth_bitbucket_id, consumer_secret=config.CONFIG_DB.auth_bitbucket_secret, request_token_url="https://bitbucket.org/api/1.0/oauth/request_token", ) bitbucket = auth.create_oauth_app(bitbucket_config, "bitbucket") @app.route("/_s/callback/bitbucket/oauth-authorized/") def bitbucket_authorized(): response = bitbucket.authorized_response() if response is None: flask.flash("You denied the request to sign in.") return flask.redirect(flask.url_for("index")) flask.session["oauth_token"] = (response["oauth_token"], response["oauth_token_secret"]) me = bitbucket.get("user") user_db = retrieve_user_from_bitbucket(me.data["user"]) return auth.signin_via_social(user_db)
import config import model import util from main import app bitbucket_config = dict( access_token_method='POST', access_token_url='https://bitbucket.org/site/oauth2/access_token', api_base_url='https://api.bitbucket.org/2.0/', authorize_url='https://bitbucket.org/site/oauth2/authorize', client_id=config.CONFIG_DB.bitbucket_key, client_secret=config.CONFIG_DB.bitbucket_secret, ) bitbucket = auth.create_oauth_app(bitbucket_config, 'bitbucket') @app.route('/api/auth/callback/bitbucket/') def bitbucket_authorized(): id_token = bitbucket.authorize_access_token() if id_token is None: flask.flash('You denied the request to sign in.') return flask.redirect(util.get_next_url()) me = bitbucket.get('user') user_db = retrieve_user_from_bitbucket(me.json()) return auth.signin_user_db(user_db) @app.route('/signin/bitbucket/')
from main import app azure_ad_config = dict( access_token_method='POST', access_token_url='https://login.microsoftonline.com/common/oauth2/token', authorize_url='https://login.microsoftonline.com/common/oauth2/authorize', base_url='', consumer_key=config.CONFIG_DB.azure_ad_client_id, consumer_secret=config.CONFIG_DB.azure_ad_client_secret, request_token_params={ 'scope': 'openid profile user_impersonation', }, ) azure_ad = auth.create_oauth_app(azure_ad_config, 'azure_ad') @app.route('/api/auth/callback/azure_ad/') def azure_ad_authorized(): response = azure_ad.authorized_response() print response if response is None: flask.flash('You denied the request to sign in.') return flask.redirect(util.get_next_url) id_token = response['id_token'] flask.session['oauth_token'] = (id_token, '') try: decoded_id_token = jwt.decode(id_token, verify=False) except (jwt.DecodeError, jwt.ExpiredSignature): flask.flash('You denied the request to sign in.')
import auth import config import model import util from main import app mailru_config = dict( access_token_url='https://connect.mail.ru/oauth/token', authorize_url='https://connect.mail.ru/oauth/authorize', base_url='https://www.appsmail.ru/', consumer_key=config.CONFIG_DB.mailru_app_id, consumer_secret=config.CONFIG_DB.mailru_app_secret, ) mailru = auth.create_oauth_app(mailru_config, 'mailru') def mailru_sig(data): param_list = sorted(['%s=%s' % (item, data[item]) for item in data]) return hashlib.md5(''.join(param_list) + mailru.consumer_secret).hexdigest() @app.route('/api/auth/callback/mailru/') def mailru_authorized(): response = mailru.authorized_response() if response is None: flask.flash(u'You denied the request to sign in.') return flask.redirect(util.get_next_url()) access_token = response['access_token']
import util from main import app reddit_config = dict( access_token_method="POST", access_token_params={"grant_type": "authorization_code"}, access_token_url="https://ssl.reddit.com/api/v1/access_token", authorize_url="https://ssl.reddit.com/api/v1/authorize", base_url="https://oauth.reddit.com/api/v1/", consumer_key=model.Config.get_master_db().reddit_client_id, consumer_secret=model.Config.get_master_db().reddit_client_secret, request_token_params={"scope": "identity", "state": util.uuid()}, ) reddit = auth.create_oauth_app(reddit_config, "reddit") def reddit_handle_oauth2_response(): access_args = { "code": flask.request.args.get("code"), "client_id": reddit.consumer_key, "redirect_uri": flask.session.get("%s_oauthredir" % reddit.name), } access_args.update(reddit.access_token_params) auth_header = "Basic %s" % base64.b64encode( ("%s:%s" % (reddit.consumer_key, reddit.consumer_secret)).encode("latin1") ).strip().decode("latin1") response, content = reddit.http_request( reddit.expand_url(reddit.access_token_url), method=reddit.access_token_method,
import config import model from main import app twitter_config = dict( access_token_url="https://api.twitter.com/oauth/access_token", authorize_url="https://api.twitter.com/oauth/authorize", base_url="https://api.twitter.com/1.1/", consumer_key=config.CONFIG_DB.auth_twitter_id, consumer_secret=config.CONFIG_DB.auth_twitter_secret, request_token_url="https://api.twitter.com/oauth/request_token", ) twitter = auth.create_oauth_app(twitter_config, "twitter") @app.route("/_s/callback/twitter/oauth-authorized/") def twitter_authorized(): response = twitter.authorized_response() if response is None: flask.flash("You denied the request to sign in.") return flask.redirect(flask.url_for("index")) flask.session["oauth_token"] = (response["oauth_token"], response["oauth_token_secret"]) user_db = retrieve_user_from_twitter(response) return auth.signin_via_social(user_db) @twitter.tokengetter
from main import app linkedin_config = dict( access_token_method='POST', access_token_url='https://www.linkedin.com/uas/oauth2/accessToken', authorize_url='https://www.linkedin.com/uas/oauth2/authorization', base_url='https://api.linkedin.com/v1/', consumer_key=config.CONFIG_DB.linkedin_api_key, consumer_secret=config.CONFIG_DB.linkedin_secret_key, request_token_params={ 'scope': 'r_basicprofile r_emailaddress', 'state': util.uuid(), }, ) linkedin = auth.create_oauth_app(linkedin_config, 'linkedin') def change_linkedin_query(uri, headers, body): headers['x-li-format'] = 'json' return uri, headers, body linkedin.pre_request = change_linkedin_query @app.route('/api/auth/callback/linkedin/') def linkedin_authorized(): response = linkedin.authorized_response() if response is None: flask.flash('You denied the request to sign in.')
import auth import config import model import util from main import app vk_config = dict( access_token_url='https://oauth.vk.com/access_token', authorize_url='https://oauth.vk.com/authorize', base_url='https://api.vk.com/', consumer_key=config.CONFIG_DB.vk_app_id, consumer_secret=config.CONFIG_DB.vk_app_secret, ) vk = auth.create_oauth_app(vk_config, 'vk') @app.route('/api/auth/callback/vk/') def vk_authorized(): response = vk.authorized_response() if response is None: flask.flash(u'You denied the request to sign in.') return flask.redirect(util.get_next_url()) access_token = response['access_token'] flask.session['oauth_token'] = (access_token, '') me = vk.get( '/method/users.get', data={ 'access_token': access_token,
import model from main import app microsoft_config = dict( access_token_method="POST", access_token_url="https://login.live.com/oauth20_token.srf", authorize_url="https://login.live.com/oauth20_authorize.srf", base_url="https://apis.live.net/v5.0/", consumer_key=config.CONFIG_DB.auth_microsoft_id, consumer_secret=config.CONFIG_DB.auth_microsoft_secret, request_token_params={"scope": "wl.emails"}, ) microsoft = auth.create_oauth_app(microsoft_config, "microsoft") @app.route("/_s/callback/microsoft/oauth-authorized/") def microsoft_authorized(): response = microsoft.authorized_response() if response is None: flask.flash("You denied the request to sign in.") return flask.redirect(flask.url_for("index")) flask.session["oauth_token"] = (response["access_token"], "") me = microsoft.get("me") if me.data.get("error", {}): return "Unknown error: error:%s error_description:%s" % (me["error"]["code"], me["error"]["message"]) user_db = retrieve_user_from_microsoft(me.data) return auth.signin_via_social(user_db)
import util from main import app reddit_config = dict( access_token_method='POST', access_token_params={'grant_type': 'authorization_code'}, access_token_url='https://ssl.reddit.com/api/v1/access_token', authorize_url='https://ssl.reddit.com/api/v1/authorize', base_url='https://oauth.reddit.com/api/v1/', consumer_key=model.Config.get_master_db().reddit_client_id, consumer_secret=model.Config.get_master_db().reddit_client_secret, request_token_params={'scope': 'identity', 'state': util.uuid()}, ) reddit = auth.create_oauth_app(reddit_config, 'reddit') def reddit_handle_oauth2_response(): access_args = { 'code': flask.request.args.get('code'), 'client_id': reddit.consumer_key, 'redirect_uri': flask.session.get('%s_oauthredir' % reddit.name), } access_args.update(reddit.access_token_params) auth_header = 'Basic %s' % base64.b64encode( ('%s:%s' % (reddit.consumer_key, reddit.consumer_secret)).encode('latin1') ).strip().decode('latin1') response, content = reddit.http_request( reddit.expand_url(reddit.access_token_url), method=reddit.access_token_method,
import config import model from main import app yahoo_config = dict( access_token_url='https://api.login.yahoo.com/oauth/v2/get_token', authorize_url='https://api.login.yahoo.com/oauth/v2/request_auth', base_url='https://query.yahooapis.com/', consumer_key=config.CONFIG_DB.auth_yahoo_id, consumer_secret=config.CONFIG_DB.auth_yahoo_secret, request_token_url='https://api.login.yahoo.com/oauth/v2/get_request_token', ) yahoo = auth.create_oauth_app(yahoo_config, 'yahoo') @app.route('/_s/callback/yahoo/oauth-authorized/') def yahoo_authorized(): response = yahoo.authorized_response() if response is None: flask.flash('You denied the request to sign in.') return flask.redirect(flask.url_for('index')) flask.session['oauth_token'] = ( response['oauth_token'], response['oauth_token_secret'], ) fields = 'guid, emails, familyName, givenName, nickname'
import auth import config import model from main import app vk_config = dict( access_token_url="https://oauth.vk.com/access_token", authorize_url="https://oauth.vk.com/authorize", base_url="https://api.vk.com/", consumer_key=config.CONFIG_DB.auth_vk_id, consumer_secret=config.CONFIG_DB.auth_vk_secret, ) vk = auth.create_oauth_app(vk_config, "vk") @app.route("/_s/callback/vk/oauth-authorized/") def vk_authorized(): response = vk.authorized_response() if response is None: flask.flash(u"You denied the request to sign in.") return flask.redirect(flask.url_for("index")) access_token = response["access_token"] flask.session["oauth_token"] = (access_token, "") me = vk.get("/method/users.get", data={"access_token": access_token, "format": "json"}) user_db = retrieve_user_from_vk(me.data["response"][0]) return auth.signin_via_social(user_db)
import auth import config from main import app import model import util vk_config = dict( access_token_url='https://oauth.vk.com/access_token', authorize_url='https://oauth.vk.com/authorize', base_url='https://api.vk.com/', consumer_key=config.CONFIG_DB.vk_app_id, consumer_secret=config.CONFIG_DB.vk_app_secret, ) vk = auth.create_oauth_app(vk_config, 'vk') @app.route('/api/auth/callback/vk/') def vk_authorized(): response = vk.authorized_response() if response is None: flask.flash(u'You denied the request to sign in.') return flask.redirect(util.get_next_url()) access_token = response['access_token'] flask.session['oauth_token'] = (access_token, '') me = vk.get( '/method/users.get', data={ 'access_token': access_token,
import config import model import util from main import app twitter_config = dict( access_token_url='https://api.twitter.com/oauth/access_token', authorize_url='https://api.twitter.com/oauth/authorize', base_url='https://api.twitter.com/1.1/', consumer_key=config.CONFIG_DB.twitter_consumer_key, consumer_secret=config.CONFIG_DB.twitter_consumer_secret, request_token_url='https://api.twitter.com/oauth/request_token', ) twitter = auth.create_oauth_app(twitter_config, 'twitter') @app.route('/api/auth/callback/twitter/') def twitter_authorized(): response = twitter.authorized_response() if response is None: flask.flash(__('You denied the request to sign in.')) return flask.redirect(util.get_next_url()) flask.session['oauth_token'] = ( response['oauth_token'], response['oauth_token_secret'], ) user_db = retrieve_user_from_twitter(response) return auth.signin_user_db(user_db)
reddit_config = dict( access_token_method='POST', access_token_params={'grant_type': 'authorization_code'}, access_token_url='https://ssl.reddit.com/api/v1/access_token', authorize_url='https://ssl.reddit.com/api/v1/authorize', base_url='https://oauth.reddit.com/api/v1/', consumer_key=model.Config.get_master_db().reddit_client_id, consumer_secret=model.Config.get_master_db().reddit_client_secret, request_token_params={ 'scope': 'identity', 'state': util.uuid() }, ) reddit = auth.create_oauth_app(reddit_config, 'reddit') def reddit_handle_oauth2_response(): access_args = { 'code': flask.request.args.get('code'), 'client_id': reddit.consumer_key, 'redirect_uri': flask.session.get('%s_oauthredir' % reddit.name), } access_args.update(reddit.access_token_params) auth_header = 'Basic %s' % base64.b64encode( ('%s:%s' % (reddit.consumer_key, reddit.consumer_secret) ).encode('latin1')).strip().decode('latin1') response, content = reddit.http_request( reddit.expand_url(reddit.access_token_url), method=reddit.access_token_method,
import model import util from main import app bitbucket_config = dict( access_token_url='https://bitbucket.org/api/1.0/oauth/access_token', authorize_url='https://bitbucket.org/api/1.0/oauth/authenticate', base_url='https://api.bitbucket.org/1.0/', consumer_key=config.CONFIG_DB.bitbucket_key, consumer_secret=config.CONFIG_DB.bitbucket_secret, request_token_url='https://bitbucket.org/api/1.0/oauth/request_token', ) bitbucket = auth.create_oauth_app(bitbucket_config, 'bitbucket') @app.route('/_s/callback/bitbucket/oauth-authorized/') def bitbucket_authorized(): response = bitbucket.authorized_response() if response is None: flask.flash('You denied the request to sign in.') return flask.redirect(util.get_next_url()) flask.session['oauth_token'] = ( response['oauth_token'], response['oauth_token_secret'], ) me = bitbucket.get('user') user_db = retrieve_user_from_bitbucket(me.data['user'])
import config import model import util from main import app facebook_config = dict( access_token_url='/oauth/access_token', authorize_url='https://www.facebook.com/dialog/oauth', base_url='https://graph.facebook.com/', consumer_key=config.CONFIG_DB.facebook_app_id, consumer_secret=config.CONFIG_DB.facebook_app_secret, request_token_params={'scope': 'email'}, ) facebook = auth.create_oauth_app(facebook_config, 'facebook') @app.route('/_s/callback/facebook/oauth-authorized/') def facebook_authorized(): response = facebook.authorized_response() if response is None: flask.flash('You denied the request to sign in.') return flask.redirect(util.get_next_url()) flask.session['oauth_token'] = (response['access_token'], '') me = facebook.get('/me') user_db = retrieve_user_from_facebook(me.data) return auth.signin_user_db(user_db)
import model import util from app import app dropbox_config = dict( access_token_method='POST', access_token_url='https://api.dropbox.com/1/oauth2/token', authorize_url='https://www.dropbox.com/1/oauth2/authorize', base_url='https://www.dropbox.com/1/', consumer_key=config.CONFIG_DB.dropbox_app_key, consumer_secret=config.CONFIG_DB.dropbox_app_secret, ) dropbox = auth.create_oauth_app(dropbox_config, 'dropbox') @app.route('/api/auth/callback/dropbox/') def dropbox_authorized(): response = dropbox.authorized_response() if response is None: flask.flash('You denied the request to sign in.') return flask.redirect(util.get_next_url()) flask.session['oauth_token'] = (response['access_token'], '') me = dropbox.get('account/info') user_db = retrieve_user_from_dropbox(me.data) return auth.signin_user_db(user_db) @dropbox.tokengetter
import auth import model import util from main import app instagram_config = dict( access_token_method='POST', access_token_url='https://api.instagram.com/oauth/access_token', authorize_url='https://instagram.com/oauth/authorize/', base_url='https://api.instagram.com/v1', consumer_key=model.Config.get_master_db().instagram_client_id, consumer_secret=model.Config.get_master_db().instagram_client_secret, ) instagram = auth.create_oauth_app(instagram_config, 'instagram') @app.route('/_s/callback/instagram/oauth-authorized/') def instagram_authorized(): response = instagram.authorized_response() if response is None: flask.flash('You denied the request to sign in.') return flask.redirect(util.get_next_url()) flask.session['oauth_token'] = (response['access_token'], '') user_db = retrieve_user_from_instagram(response['user']) return auth.signin_user_db(user_db) @instagram.tokengetter
import auth import model import util from main import app yahoo_config = dict( access_token_url='https://api.login.yahoo.com/oauth/v2/get_token', authorize_url='https://api.login.yahoo.com/oauth/v2/request_auth', base_url='https://query.yahooapis.com/', consumer_key=model.Config.get_master_db().yahoo_consumer_key, consumer_secret=model.Config.get_master_db().yahoo_consumer_secret, request_token_url='https://api.login.yahoo.com/oauth/v2/get_request_token', ) yahoo = auth.create_oauth_app(yahoo_config, 'yahoo') @app.route('/_s/callback/yahoo/oauth-authorized/') def yahoo_authorized(): response = yahoo.authorized_response() if response is None: flask.flash('You denied the request to sign in.') return flask.redirect(util.get_next_url()) flask.session['oauth_token'] = ( response['oauth_token'], response['oauth_token_secret'], ) fields = 'guid, emails, familyName, givenName, nickname'
linkedin_config = dict( access_token_method='POST', access_token_url='https://www.linkedin.com/uas/oauth2/accessToken', authorize_url='https://www.linkedin.com/uas/oauth2/authorization', base_url='https://api.linkedin.com/v1/', consumer_key=config.CONFIG_DB.linkedin_api_key, consumer_secret=config.CONFIG_DB.linkedin_secret_key, request_token_params={ 'scope': 'r_basicprofile r_emailaddress', 'state': util.uuid(), }, ) linkedin = auth.create_oauth_app(linkedin_config, 'linkedin') def change_linkedin_query(uri, headers, body): headers['x-li-format'] = 'json' return uri, headers, body linkedin.pre_request = change_linkedin_query @app.route('/_s/callback/linkedin/oauth-authorized/') def linkedin_authorized(): response = linkedin.authorized_response() if response is None: flask.flash('You denied the request to sign in.')
import model import util from main import app facebook_config = dict( access_token_url='/oauth/access_token', authorize_url='https://www.facebook.com/dialog/oauth', base_url='https://graph.facebook.com/', consumer_key=config.CONFIG_DB.facebook_app_id, consumer_secret=config.CONFIG_DB.facebook_app_secret, request_token_params={'scope': 'email'}, ) facebook = auth.create_oauth_app(facebook_config, 'facebook') @app.route('/api/auth/callback/facebook/') def facebook_authorized(): response = facebook.authorized_response() if response is None: flask.flash('You denied the request to sign in.') return flask.redirect(util.get_next_url()) flask.session['oauth_token'] = (response['access_token'], '') me = facebook.get('/me') user_db = retrieve_user_from_facebook(me.data) return auth.signin_user_db(user_db)
import util from app import app github_config = dict( access_token_method='POST', access_token_url='https://github.com/login/oauth/access_token', authorize_url='https://github.com/login/oauth/authorize', base_url='https://api.github.com/', consumer_key=config.CONFIG_DB.github_client_id, consumer_secret=config.CONFIG_DB.github_client_secret, request_token_params={'scope': 'user:email'}, ) github = auth.create_oauth_app(github_config, 'github') @app.route('/api/auth/callback/github/') def github_authorized(): response = github.authorized_response() if response is None: flask.flash('You denied the request to sign in.') return flask.redirect(util.get_next_url()) flask.session['oauth_token'] = (response['access_token'], '') me = github.get('user') user_db = retrieve_user_from_github(me.data) return auth.signin_user_db(user_db) @github.tokengetter
import model import util from main import app microsoft_config = dict( access_token_method='POST', access_token_url='https://login.live.com/oauth20_token.srf', authorize_url='https://login.live.com/oauth20_authorize.srf', base_url='https://apis.live.net/v5.0/', consumer_key=config.CONFIG_DB.microsoft_client_id, consumer_secret=config.CONFIG_DB.microsoft_client_secret, request_token_params={'scope': 'wl.emails'}, ) microsoft = auth.create_oauth_app(microsoft_config, 'microsoft') @app.route('/api/auth/callback/microsoft/') def microsoft_authorized(): response = microsoft.authorized_response() if response is None: flask.flash('You denied the request to sign in.') return flask.redirect(util.get_next_url()) flask.session['oauth_token'] = (response['access_token'], '') me = microsoft.get('me') if me.data.get('error', {}): return 'Unknown error: error:%s error_description:%s' % ( me['error']['code'], me['error']['message'], )
import model import util from app import app instagram_config = dict( access_token_method="POST", access_token_url="https://api.instagram.com/oauth/access_token", authorize_url="https://instagram.com/oauth/authorize/", base_url="https://api.instagram.com/v1", consumer_key=model.Config.get_master_db().instagram_client_id, consumer_secret=model.Config.get_master_db().instagram_client_secret, ) instagram = auth.create_oauth_app(instagram_config, "instagram") @app.route("/api/auth/callback/instagram/") def instagram_authorized(): response = instagram.authorized_response() if response is None: flask.flash("You denied the request to sign in.") return flask.redirect(util.get_next_url()) flask.session["oauth_token"] = (response["access_token"], "") user_db = retrieve_user_from_instagram(response["user"]) return auth.signin_user_db(user_db) @instagram.tokengetter