Я пытаюсь авторизовать мое приложение 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'))
Как мне отладить, почему это происходит?