Невозможно войти через Facebook в мое приложение на основе колбы - PullRequest
0 голосов
/ 20 сентября 2019

Прежде всего, я проверил похожие сообщения на stackoverflow об этом, но ни одна из них не помогла мне.

Когда я открываю консоль браузера на моем веб-сайте, я вижу это:

{authResponse: {…}, status: "connected"}
authResponse: {accessToken: "XXXXX…XXXXX", userID: "YYYYYY", expiresIn: 5360, signedRequest: "ZZZZZZZZZ", data_access_expiration_time: 1576711495}

статус: «подключен»

Я добавил кнопку и функцию на моем внешнем интерфейсе для входа в систему с Facebook.чего не хватает, так это того, что я не знаю, как получить информацию о пользователе, передаваемом бэкэнду

, это кнопка входа в систему:

    <fb:login-button
    scope="public_profile,email"
    onlogin="checkLoginState">
</fb:login-button>

, за которой следует функция checkLoginState:

window.fbAsyncInit = 
        function()
        {
            FB.init
            (
                {
                    appId:"wwwwwwwwwwwwwwwww",
                    cookie: true,
                    xfbml: true,
                    version: "v4.0"
                }
            );
            getLoginStatus();
        }
    function getLoginStatus()
    {
        FB.getLoginStatus
        (
            function ( response )
            {
                console.log( response );
            }
        );
    }
    function checkLoginState()
    {
        getLoginStatus();
    }
    (
        function (d, s, id)
        {
            var js, fjs = d.getElementsByTagName(s)[0];
            if (d.getElementById(id)){return;}
            js = d.createElement(s); js.id = id;
            js.src = "https://connect.facebook.net/en_US/sdk.js";
            fjs.parentNode.insertBefore(js, fjs);
        }
    )(document, "script", "facebook-jssdk");

что касается бэкэнда, это то, что у меня есть

@app.route('/fb')
def fb():

    facebook_blueprint = make_facebook_blueprint(client_id='xxxxxx',client_secret='yyyyyy', scope=['email', 'user_birthday'])
    app.register_blueprint(facebook_blueprint, url_prefix="/")
    if not facebook.authorized:
    return redirect(url_for('facebook.login'))

    account_info = facebook.get('account/settings.json')
    assert account_info.ok 
    account_info_json = account_info.json()

    email = account_info.json()['email']  # nor this
    birthday = account_infon.json()['birthday'] # nor this
    print email, birthday
    return ('',204)

в настройках приложения facebook, у меня есть mydomain.com/, www.mydomain.com, mydomain.com/fb, www.mydomain.com/_oauth/facebook и т. д.

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