Flask_dance с Facebook API;Отсутствует параметр токена доступа - PullRequest
0 голосов
/ 06 июня 2018

Я столкнулся с еще одной проблемой в расширении flask_dance. После того, как я нажал кнопку регистрации в Facebook и позволил приложению получить доступ к моей учетной записи Facebook, я успешно перенаправлен на мой веб-сайт, но с сообщением об ошибке:

oauthlib.oauth2.rfc6749.errors.MissingTokenError MissingTokenError: (missing_token) Missing access token parameter.

вот мой код:

from flask_dance.contrib.facebook import make_facebook_blueprint, facebook

facebook_blueprint = make_facebook_blueprint(
    client_id=app.config['FACEBOOK_CLIENT_ID'],
    client_secret=app.config['FACEBOOK_CLIENT_SECRET'],
    scope=["email", "public_profile"]
)
app.register_blueprint(facebook_blueprint)

    @oauth_authorized.connect_via(facebook_blueprint)
    def facebook_logged_in(blueprint, token):
        resp = blueprint.session.get("/me?&fields={fields}".format(fields=['name','picture', 'email', 'verified']))
        if resp.ok:
            account_info_json = resp.json()
            email = account_info_json['email']

            query = User.query.filter_by(email=email)

            try:

                user = query.one()
                user.image = account_info_json['picture']['data']['url']
                db.session.commit()

            except NoResultFound:
                user = User()
                user.image = account_info_json['picture']['data']['url']
                user.username = account_info_json['name']
                user.email = account_info_json['email']

                if account_info_json['verified'] == True:
                    user.confirmed = True
                    user.is_admin = False

                db.session.add(user)
                db.session.commit()

            login_user(user)

            identity_changed.send(
                current_app._get_current_object(),
                identity=Identity(user.id)
            )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...