Flask Dance@oauth_authorized.connect_via()方法在登录时从不执行

Flask Dance@oauth_authorized.connect_via()方法在登录时从不执行,flask,google-oauth,flask-login,Flask,Google Oauth,Flask Login,我正在使用Flask舞蹈库登录Google用户。我能够成功验证用户身份,但@oauth_authorized.connect_via(google_blueprint)下的代码永远不会执行。我尝试重新命名一些蓝图/方法,但似乎没有任何效果。我知道这个问题是针对谷歌登录的,因为我在twitter和github上尝试了同样的代码,一切都很顺利。有没有一个关于谷歌登录的具体概念是我遗漏的 代码: 试着改变 account\u info=blueprint.session.get('/user') 到

我正在使用Flask舞蹈库登录Google用户。我能够成功验证用户身份,但@oauth_authorized.connect_via(google_blueprint)下的代码永远不会执行。我尝试重新命名一些蓝图/方法,但似乎没有任何效果。我知道这个问题是针对谷歌登录的,因为我在twitter和github上尝试了同样的代码,一切都很顺利。有没有一个关于谷歌登录的具体概念是我遗漏的

代码:

试着改变

account\u info=blueprint.session.get('/user')

account\u info=blueprint.session.get('/oauth2/v2/userinfo')

如果您有兴趣,可以在此处查看我的工作要点:

google_blueprint = make_google_blueprint(client_id='CLIENT_ID_HERE',client_secret='SECRET_HERE')
app.register_blueprint(google_blueprint,url_prefix='/google_login')
google_blueprint.backend = SQLAlchemyBackend(OAuth, db.session,user=current_user,user_required=False)

class User(UserMixin, db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(15), unique=True)
    email = db.Column(db.String(50), unique=True)
    password = db.Column(db.String(80))
    payed = db.Column(db.Boolean)
class OAuth(OAuthConsumerMixin, db.Model):
    user_id = db.Column(db.Integer,db.ForeignKey(User.id))
    user = db.relationship(User)

@app.route('/google')
def google_login():
    if not google.authorized:
        return redirect(url_for('google.login'))
    return redirect(url_for('dashboard'))

@oauth_authorized.connect_via(google_blueprint)
def google_is_logged_in(blueprint,token):
    global paying_dude
    account_info = blueprint.session.get('/user')
    if account_info.ok:
        account_info_json = account_info.json()
        username = account_info_json['first_name']
        query = User.query.filter_by(username=username)
        try:
            user=query.one()
        except NoResultFound:
            user = User(username=username,payed=False)
            db.session.add(user)
            db.session.commit()
            paying_dude = username
            return redirect(url_for('pay'))
        if user.payed:
            login_user(user)
            return redirect(url_for('dashboard'))
        return redirect(url_for('pay'))