Выполнение авторизации на стороне клиента в Facebook с использованием Javascript JQuery - PullRequest
0 голосов
/ 29 ноября 2010

Вот что я хочу: Я использовал систему авторизации OAuth 2.0. Я уже зарегистрировал свое приложение в Facebook, и у меня есть секретные ключи моего приложения (я сделал код на стороне сервера, но мне нужна более удобная для пользователя система авторизации).

На основании ответа от Facebook, как я могу получить код ответа от Facebook без перезагрузки страницы? Если вы не поняли, что я имею в виду, взгляните на следующий пример:

Пример по этой ссылке: http://www.badminton.si/1-turnir-b-kategorije-1-kolo-mbl

Как я могу продолжать получать свой токен доступа, чтобы я мог получить доступ к моей личной информации (например, к электронной почте)?

КОРОТКО:

<script type="text/javascript" src="../Scripts/jquery-1.4.1-vsdoc.js"></script>
<script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script>
<script type="text/javascript" src="http://static.ak.fbcdn.net/connect/en_US/core.debug.js"> </script>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">
FB.init({
  appId: my_api_key,
  status: true,
  cookie: true,
  xfbml: true
});
FB.Event.subscribe('auth.login', function (response) {login();)}
FB.Event.subscribe('auth.logout', function (response) {logout();});
FB.getLoginStatus(function (response) {if (response.session) {login();}});
function login() {FB.api('/me', function (response) {alert(response.email)});
....

<fb:login-button v="2" size="large" autologoutlink="true" perms="email,user_birthday,status_update,publish_stream,read_stream">
</fb:login-button>

1 Ответ

1 голос
/ 29 ноября 2010

Просто следуйте примерам на http://developers.facebook.com/docs/authentication/

В большинстве функций вы получите обратные вызовы, которые вы можете перехватить, чтобы получить токен без перезагрузки страницы.

Издокументация:

FB.init({appId: 'your app id', status: true, cookie: true, xfbml: true});
  FB.Event.subscribe('auth.sessionChange', function(response) {
    if (response.session) {
      // A user has logged in, and a new cookie has been saved
    } else {
      // The user has logged out, and the cookie has been cleared
    }
  });

С объектом response.session вы должны получить все необходимое без перезагрузки страницы.

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