Как должен выглядеть oauthRedirectURL в openFB, используя приложение Cordova?

Я наткнулся на этот плагин openFB, чтобы делать запросы на Facebook без SDK, который может быть использован в Cordova,

Я получил это, чтобы войти в систему пользователя в Facebook, вещь как oauthRedirectURL Я в конечном итоге на белой странице, которая говорит Success и я не уверен, как вернуть пользователя в приложение,

if (runningInCordova) {
oauthRedirectURL = "https://www.facebook.com/connect/login_success.html";
}

Вопрос в том,

Какой URL я могу использовать, чтобы указать мое приложение?

Пользователь попадает в этот экран после входа в систему

введите описание изображения здесь

-редактировать-

Я нашел такие решения, как http://localhost.com/oauthcallback.html но у меня нет apache2 в среде Cordova..

-2-й редактор-

Это мой текущий код,

openFB.init({appId: 'xxxxxxxxyyyyyyyy'});
openFB.login( function(response) {
     if(response.status === 'connected') {
         alert('Facebook login succeeded, got access token: ' + response.authResponse.token);
     } else {
         alert('Facebook login failed: ' + response.error);
     }
 }, {scope: 'email'});

Эта строка библиотеки, которая заполняет это значение

if (runningInCordova) {
    oauthRedirectURL = "https://www.facebook.com/connect/login_success.html";
}

1 ответ

Решение

Я не использовал openFB раньше, но я уверен, что он основан на следующих документах: https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow/v2.3

Если вы перейдете в раздел "Вход в систему", вы увидите следующее сообщение:

redirect_uri. URL-адрес, на который вы хотите перенаправить человека, вошедшего в систему. Этот URL будет захватывать ответ из диалога входа в систему. Если вы используете это в веб-просмотре в настольном приложении, это должно быть установлено на https://www.facebook.com/connect/login_success.html.

Когда пользователь FB предоставляет разрешения вашему приложению, оно будет перенаправлено на URL https://www.facebook.com/connect/login_success.html?access_token=new_token&;...

Теперь вам нужно отслеживать этот URL и получать предоставленный токен доступа, который вы должны сохранить с идентификатором пользователя fb для выполнения любого вызова API.

Поглядывая, как это сделать с openFB, я нашел в репозитории openFB github репозиторий, который должен помочь: https://github.com/ccoenraets/OpenFB/issues/20 (не полностью связан, но предоставляет некоторый код, который вы можешь использовать)

Это должен быть код, который позволит вам отслеживать URL (извлеченный из кода, приведенного в теме):

if (runningInCordova) {
    loginWindow.addEventListener('loadstart', function (event) {
        var url = event.url;
        if (url.indexOf("access_token=") > 0) {
            // Get the token
        }
    });
}

Получив токен доступа и сохранив его в своей базе данных, вы должны перенаправить его в любое другое место вашего приложения.

Я надеюсь, что это помогает.

Хавьер.

Другие вопросы по тегам