コード例 #1
0
ファイル: instagram.py プロジェクト: flyeven/github-stats
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
コード例 #2
0
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():
コード例 #3
0
ファイル: google.py プロジェクト: mdxs/gae-init-babel
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)

コード例 #4
0
ファイル: google.py プロジェクト: gae-init/gae-init
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)

コード例 #5
0
ファイル: dropbox.py プロジェクト: Stubbs/gae-init-docs
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
コード例 #6
0
ファイル: twitter.py プロジェクト: sbarnabas/gowhere
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)
コード例 #7
0
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)

コード例 #8
0
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/')
コード例 #9
0
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.')
コード例 #10
0
ファイル: mailru.py プロジェクト: gae-init/gae-init-debug
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']
コード例 #11
0
ファイル: reddit.py プロジェクト: cloudwizard/gae-init
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,
コード例 #12
0
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']
コード例 #13
0
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
コード例 #14
0
ファイル: linkedin.py プロジェクト: flyeven/github-stats
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.')
コード例 #15
0
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,
コード例 #16
0
ファイル: microsoft.py プロジェクト: jacraven/lsiapp
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)
コード例 #17
0
ファイル: reddit.py プロジェクト: FOSSRIT/FIRSTMastery
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,
コード例 #18
0
ファイル: yahoo.py プロジェクト: Huijari/gae_test
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'
コード例 #19
0
ファイル: vk.py プロジェクト: jacraven/lsiapp
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)
コード例 #20
0
ファイル: vk.py プロジェクト: tiberiucorbu/av-website
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,
コード例 #21
0
ファイル: azure_ad.py プロジェクト: gae-init/gae-init-debug
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.')
コード例 #22
0
ファイル: twitter.py プロジェクト: mdxs/gae-init-babel
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)
コード例 #23
0
ファイル: reddit.py プロジェクト: kgov1/gae-init
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,
コード例 #24
0
ファイル: bitbucket.py プロジェクト: georgekis/gae-init
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'])
コード例 #25
0
ファイル: facebook.py プロジェクト: Stubbs/gae-init-docs
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)

コード例 #26
0
ファイル: dropbox.py プロジェクト: gmist/1businka2
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
コード例 #27
0
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
コード例 #28
0
ファイル: yahoo.py プロジェクト: ssxenon01/music-app
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'
コード例 #29
0

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.')
コード例 #30
0
ファイル: facebook.py プロジェクト: bangive/gae-init
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)

コード例 #31
0
ファイル: github.py プロジェクト: gmist/1businka2
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
コード例 #32
0
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'],
    )
コード例 #33
0
ファイル: instagram.py プロジェクト: gmist/1businka2
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