В колбе Oauth2 в обратном вызове google.authorize () отсутствует 1 позиционный аргумент - PullRequest
0 голосов
/ 15 февраля 2019

Я пытаюсь авторизовать мое приложение Flask с помощью Google, но Google не возвращает аргумент, который мне нужно передать функции обратного вызова:

TypeError: google_authorized () отсутствует 1 обязательный позиционный аргумент:'resp'

Вот код:

@auth.route('/google-login')
def google_login():
    return google.authorize(callback=url_for('auth.google_authorized', _external=True))


@google.authorized_handler
@auth.route('/oauth2callback')
def google_authorized(resp):
    if resp is None:
        return f"Access denied: reason={request.args['error_reason']} error={request.args['error_description']}"

    session['google_oauth_token'] = (resp['access_token'], '')
    userinfo = requests.get(GOOGLE_OAUTH2_USERINFO_URL, params=dict(access_token=resp['access_token'],)).json()

    user = User.query.filter_by(username=userinfo['email']).first()
    if not user:
        user = User(userinfo['email'], '')
        db.session.add(user)
        db.session.commit()

    login_user(user)
    flash(f"Logged in as id={userinfo['id']} name={userinfo['name']}")
    return redirect(url_for('auth.home'))

Как мне отладить, почему это происходит?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...