コード例 #1
0
def login():
    """Initiate an OAuth login.

    Call the MediaWiki server to get request secrets and then redirect the
    user to the MediaWiki server to sign the request.
    """
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    else:
        consumer_token = mwoauth.ConsumerToken(app.config['CONSUMER_KEY'],
                                               app.config['CONSUMER_SECRET'])
        try:
            redirect_string, request_token = mwoauth.initiate(
                app.config['OAUTH_MWURI'], consumer_token)
        except Exception:
            app.logger.exception('mwoauth.initiate failed')
            return redirect(url_for('main.home'))
        else:
            session['request_token'] = dict(
                zip(request_token._fields, request_token))
            user = User.query.filter_by(
                username=session.get('username', None)).first()
            if user and user.username is not None:
                login_user(user)
            return redirect(redirect_string)
コード例 #2
0
ファイル: app.py プロジェクト: Vesihiisi/Hauki
def login() -> werkzeug.Response:
    redirect, request_token = mwoauth.initiate(index_php,
                                               consumer_token,
                                               user_agent=user_agent)
    flask.session['oauth_request_token'] = dict(
        zip(request_token._fields, request_token))
    return flask.redirect(redirect)
コード例 #3
0
ファイル: app.py プロジェクト: davidabian/tool-lexeme-forms
def if_needs_oauth_redirect():
    if 'oauth' in app.config and 'oauth_access_token' not in flask.session:
        (redirect, request_token) = mwoauth.initiate('https://www.wikidata.org/w/index.php', consumer_token, user_agent=user_agent)
        flask.session['oauth_request_token'] = dict(zip(request_token._fields, request_token))
        flask.session['oauth_redirect_target'] = current_url()
        return flask.redirect(redirect)
    else:
        return None
コード例 #4
0
def login():
    redirect, request_token = mwoauth.initiate(
        'https://www.wikidata.org/w/index.php',
        consumer_token,
        user_agent=user_agent)
    flask.session['oauth_request_token'] = dict(
        zip(request_token._fields, request_token))
    return flask.redirect(redirect)
コード例 #5
0
ファイル: app.py プロジェクト: nikkiwd/tool-lexeme-forms
def login() -> RRV:
    if 'OAUTH' in app.config:
        (redirect, request_token) = mwoauth.initiate('https://www.wikidata.org/w/index.php', consumer_token, user_agent=user_agent)
        flask.session['oauth_request_token'] = dict(zip(request_token._fields, request_token))
        flask.session['oauth_redirect_target'] = flask.request.referrer
        return flask.redirect(redirect)
    else:
        return flask.redirect(flask.url_for('index'))
コード例 #6
0
ファイル: route.py プロジェクト: wikimedia/labs-tools-mdvt
def login(return_url):
    if return_url:
        session['return_url'] = return_url
    consumer_token = mwoauth.ConsumerToken(config['OAUTH_TOKEN'],
                                           config['OAUTH_SECRET'])
    redirect_url, request_token = mwoauth.initiate(config['OAUTH_URI'],
                                                   consumer_token)
    session['request_token'] = dict(zip(request_token._fields, request_token))
    return redirect(redirect_url)
コード例 #7
0
def login() -> werkzeug.Response:
    redirect, request_token = mwoauth.initiate(index_php,
                                               consumer_token,
                                               user_agent=user_agent)
    flask.session['oauth_request_token'] = dict(zip(request_token._fields,
                                                    request_token))
    return_url = flask.request.referrer
    if return_url and return_url.startswith(full_url('index')):
        flask.session['oauth_redirect_target'] = return_url
    return flask.redirect(redirect)
コード例 #8
0
ファイル: app.py プロジェクト: In1quity/dibabel-js
def login():
    try:
        redirect_url, request_token = mwoauth.initiate(
            app.config["OAUTH_MWURI"], create_consumer_token())
    except:
        app.logger.exception('mwoauth.initiate failed')
        return redirect('/')
    else:
        session['request_token'] = dict(
            zip(request_token._fields, request_token))
        return redirect(redirect_url)
コード例 #9
0
def login():
  try:
    redirect, request_token = mwoauth.initiate(app.config["OAUTH_MWURI"], consumer_token)
  except Exception:
    app.logger.exception("mwoauth.initiate failed")
    return flask.redirect(flask.url_for('index'))
  else:
    # Convert request_token into a dictionary
    request_token_dict = dict(zip(request_token._fields, request_token))
    flask.session["request_token"] = request_token_dict
    return flask.redirect(redirect)
コード例 #10
0
def login():
    consumer_token = mwoauth.ConsumerToken(app.config['CONSUMER_KEY'],
                                           app.config['CONSUMER_SECRET'])
    try:
        redirect, request_token = mwoauth.initiate(app.config['OAUTH_MWURI'],
                                                   consumer_token)
    except Exception:
        app.logger.exception('mwoauth.initiate failed')
        return flask.redirect(flask.url_for('index'))
    else:
        flask.session['request_token'] = dict(
            zip(request_token._fields, request_token))
        return flask.redirect(redirect)
コード例 #11
0
ファイル: app.py プロジェクト: ionicsolutions/kokolores
def login():
    consumer_token = mwoauth.ConsumerToken(app.config["CONSUMER_KEY"],
                                           app.config["CONSUMER_SECRET"])
    try:
        redirect, request_token = mwoauth.initiate(app.config["OAUTH_MWURI"],
                                                   consumer_token)
    except Exception:
        app.logger.exception("mwoauth.initiate failed")
        return flask.redirect(flask.url_for("index"))
    else:
        flask.session["request_token"] = dict(
            zip(request_token._fields, request_token))
        return flask.redirect(redirect)
コード例 #12
0
def login():
    _validate_not_stopping()
    print(f"++++ /login")
    try:
        redirect_url, request_token = mwoauth.initiate(
            app.config["OAUTH_MWURI"], _create_consumer_token())
    except:
        app.logger.exception('mwoauth.initiate failed')
        return redirect('/')
    else:
        session['request_token'] = dict(
            zip(request_token._fields, request_token))
        return redirect(redirect_url)
コード例 #13
0
ファイル: app.py プロジェクト: dpriskorn/makesense
def login():
    """Initiate an OAuth login.

    Call the MediaWiki server to get request secrets and then redirect the
    user to the MediaWiki server to sign the request.
    """
    try:
        redirect, request_token = mwoauth.initiate(
            app.config["OAUTH_MWURI"], consumer_token, callback="https://machtsinn.toolforge.org/oauth-callback"
        )
    except Exception:
        log.exception("mwoauth.initiate failed")
        return flask.redirect(flask.url_for("index"))
    else:
        flask.session["request_token"] = dict(zip(request_token._fields, request_token))
        return flask.redirect(redirect)
コード例 #14
0
ファイル: auth.py プロジェクト: levon003/wiki-ores-feedback
def login():
    logger = logging.getLogger('auth.login')

    consumer_token = mwoauth.ConsumerToken(
        current_app.config['CONSUMER_KEY'],
        current_app.config['CONSUMER_SECRET'])
    try:
        redirect_request, request_token = mwoauth.initiate(
            current_app.config['OAUTH_MWURI'], consumer_token)
    except Exception:
        logger.exception('mwoauth.initiate failed')
        return get_auth_redirect_request()
    else:
        session['request_token'] = dict(
            zip(request_token._fields, request_token))
        return redirect(redirect_request)
コード例 #15
0
def login():
    """Initiate an OAuth login.
    Call the MediaWiki server to get request secrets and then redirect the
    user to the MediaWiki server to sign the request.
    """
    consumer_token = mwoauth.ConsumerToken(app.config['CONSUMER_KEY'],
                                           app.config['CONSUMER_SECRET'])
    try:
        redirect, request_token = mwoauth.initiate(app.config['OAUTH_MWURI'],
                                                   consumer_token)
    except Exception:
        app.logger.exception('mwoauth.initiate failed')
        return flask.redirect(flask.url_for('index'))
    else:
        flask.session['request_token'] = dict(
            zip(request_token._fields, request_token))
        return flask.redirect(redirect)
コード例 #16
0
ファイル: app.py プロジェクト: dissemin/oabot
def login():
    """Initiate an OAuth login.

    Call the MediaWiki server to get request secrets and then redirect
the
    user to the MediaWiki server to sign the request.
    """
    consumer_token = mwoauth.ConsumerToken(
        app.config['CONSUMER_KEY'], app.config['CONSUMER_SECRET'])
    try:
        redirect, request_token = mwoauth.initiate(
            app.config['OAUTH_MWURI'], consumer_token)
    except Exception:
        app.logger.exception('mwoauth.initiate failed')
        return flask.redirect(flask.url_for('index'))
    else:
        flask.session['request_token'] = dict(zip(
            request_token._fields, request_token))
        return flask.redirect(redirect)
コード例 #17
0
def login():
    """Initiate an OAuth login.
    Call the MediaWiki server to get request secrets and then redirect the
    user to the MediaWiki server to sign the request.
    """
    consumer_token = mwoauth.ConsumerToken(
        app.config['CONSUMER_KEY'], app.config['CONSUMER_SECRET'])
    try:
        redirect, request_token = mwoauth.initiate(
            app.config['OAUTH_MWURI'], consumer_token)
    except Exception:
        app.logger.exception('mwoauth.initiate failed')
        flash(_('login-fail-text', url="https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?project=massmailer"), 'danger')
        return flask.redirect(flask.url_for('index'))
    else:
        flask.session['request_token'] = dict(zip(
            request_token._fields, request_token))
        flash(_('login-success-text'), 'success')
        return flask.redirect(redirect)
コード例 #18
0
def oauth_initiate(req):
    """Initiate an OAuth login."""
    next_page = req.GET.get('next', None)
    if next_page is not None:
        req.session[NEXT_PAGE] = next_page
    consumer_token = mwoauth.ConsumerToken(settings.OAUTH_CONSUMER_KEY,
                                           settings.OAUTH_CONSUMER_SECRET)
    try:
        redirect, request_token = mwoauth.initiate(
            settings.OAUTH_MWURL, consumer_token,
            req.build_absolute_uri(
                urlresolvers.reverse('labsauth:oauth_callback')))
    except Exception:
        # FIXME: get upstream to use a narrower exception class
        logger.exception('mwoauth.initiate failed')
        messages.error(req, _("OAuth handshake failed."))
        return shortcuts.redirect(next_page or '/')
    else:
        # Convert to unicode for session storage
        req.session[REQUEST_TOKEN_KEY] = utils.tuple_to_unicode(request_token)
        return shortcuts.redirect(redirect)
コード例 #19
0
ファイル: views.py プロジェクト: bd808/striker
def oauth_initiate(req):
    """Initiate an OAuth login."""
    next_page = req.GET.get('next', None)
    if next_page is not None:
        req.session[NEXT_PAGE] = next_page
    consumer_token = mwoauth.ConsumerToken(
        settings.OAUTH_CONSUMER_KEY, settings.OAUTH_CONSUMER_SECRET)
    try:
        redirect, request_token = mwoauth.initiate(
            settings.OAUTH_MWURL,
            consumer_token,
            req.build_absolute_uri(
                urlresolvers.reverse('labsauth:oauth_callback')))
    except Exception:
        # FIXME: get upstream to use a narrower exception class
        logger.exception('mwoauth.initiate failed')
        messages.error(req, _("OAuth handshake failed."))
        return shortcuts.redirect(next_page or '/')
    else:
        # Convert to unicode for session storage
        req.session[REQUEST_TOKEN_KEY] = utils.tuple_to_unicode(request_token)
        return shortcuts.redirect(redirect)
コード例 #20
0
ファイル: app.py プロジェクト: kosovojs/wikibooster
def login():
	consumer_token = mwoauth.ConsumerToken(app.config['CONSUMER_KEY'], app.config['CONSUMER_SECRET'])
	redirect, request_token = mwoauth.initiate('https://meta.wikimedia.org/w/index.php', consumer_token, user_agent=user_agent)
	flask.session['oauth_request_token'] = dict(zip(request_token._fields, request_token))
	return flask.redirect(redirect)
コード例 #21
0
ファイル: functions.py プロジェクト: moraorviz/python-mwoauth
sys.path.insert(0, ".")

try:
    creds_doc = json.load(open("credentials.do_not_commit.json"))
    consumer_key = creds_doc['consumer_key']
    consumer_secret = creds_doc['consumer_secret']
except FileNotFoundError:
    print('Couldn\'t find "credentials.do_not_commit.json". ' +
          'Please manually input credentials.')
    consumer_key = input('Consumer key: ')
    consumer_secret = input('Consumer secret: ')

consumer_token = ConsumerToken(consumer_key, consumer_secret)

mw_uri = "https://en.wikipedia.org/w/index.php"

# Step 1: Initialize -- ask MediaWiki for a temporary key/secret for user
redirect, request_token = initiate(mw_uri, consumer_token)

# Step 2: Authorize -- send user to MediaWiki to confirm authorization
print("Point your browser to: %s" % redirect)  #
response_qs = input("Response query string: ")

# Step 3: Complete -- obtain authorized key/secret for "resource owner"
access_token = complete(mw_uri, consumer_token, request_token, response_qs)
print(str(access_token))

# Step 4: Identify -- (optional) get identifying information about the user
identity = identify(mw_uri, consumer_token, access_token)
print("Identified as {username} (id={sub}).".format(**identity))
コード例 #22
0
    else:
        name = None
        default_praise = 'You rock!'

    praise = flask.session.get('praise', default_praise)

    return flask.render_template('praise.html',
                                 name=name,
                                 praise=praise,
                                 csrf_error=csrf_error)


@app.route('/login')
def login(){% if cookiecutter.set_up_mypy == "True" %} -> werkzeug.Response{% endif %}:
    redirect, request_token = mwoauth.initiate(index_php,
                                               consumer_token,
                                               user_agent=user_agent)
    flask.session['oauth_request_token'] = dict(zip(request_token._fields,
                                                    request_token))
    return_url = flask.request.referrer
    if return_url and return_url.startswith(full_url('index')):
        flask.session['oauth_redirect_target'] = return_url
    return flask.redirect(redirect)


@app.route('/oauth/callback')
def oauth_callback(){% if cookiecutter.set_up_mypy == "True" %} -> Union[werkzeug.Response, str]{% endif %}:
    oauth_request_token = flask.session.pop('oauth_request_token', None)
    if oauth_request_token is None:
        already_logged_in = 'oauth_access_token' in flask.session
        query_string = flask.request.query_string\
コード例 #23
0
 def get(self, request, *args, **kwargs):
     redirect_url, request_token = initiate(WIKIDATA_URL, CONSUMER_TOKEN)
     t = (request_token.key.decode(), request_token.secret.decode())
     request.session['oauth_request_token'] = t
     return redirect(redirect_url)