Набор API-интерфейса JavaScript специального accessToken


Я разрабатываю приложение для Facebook. У меня есть Серверный поток OAuth, который позволяет мне аутентифицировать пользователя, не требуя, чтобы он нажимал на какую-либо кнопку. Поэтому я получаю его accessToken до тех пор, пока другая информация и использую их на стороне сервера , прежде чем генерировать страницу.

В моем приложении мне теперь нужно использовать Javascript API, который технически может совместно использовать тот же самый OAuth-токен.

Можно ли создать экземпляр объекта FB javascript с помощью учитывая OAuth-токен ?

Я знаю, что можно сделать наоборот, то есть выполнить процесс Oauth на стороне клиента и поделиться ключом Oauth с серверной стороной через cookie, но у этого есть два недостатка, на мой взгляд : _ Во-первых, это подразумевает наличие кнопки "войти", которая для меня не является хорошим пользовательским опытом для приложения facebook. _ Кроме того, я не понимаю, как должен вести себя этот процесс Oauth, если мое приложение состоит из двух разных страниц. Переход с одной страницы на другую перезагружает полностью javascript. Будет ли этот процесс Oauth (с всплывающим окном и т. д.) выполняться на каждой перезагрузке страницы ?

Спасибо за помощь !

1 6

1 ответ:

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

FB.init({appId: 'XXXXXXXXXXXXXX', xfbml: true, cookie: true, oauth: true});
FB.getLoginStatus(function(response) {

  if (response.authResponse) {
    token = response.authResponse.accessToken;
    FB.api('/me', function(response) {
        console.log(response);
         // do something here they are logged in and have given you perms   
    });
  } else {
    // no user session available, someone you dont know
  }
});

Надеюсь, это поможет!