Facebook Connect для сайта - подключение к базе данных и логика - PullRequest
0 голосов
/ 12 апреля 2011

Я пытаюсь разрешить пользователям входить на мой сайт, используя свою учетную запись Facebook.Я пытался прочитать некоторую информацию, связанную с процессом, от разработчиков Facebook (страница http://developers.facebook.com/docs/) - хотя процесс и логика вроде бы имеют смысл, я все еще теряюсь в отношении общей картины.

Как подключается Facebook'Ссылка на мою существующую базу данных пользователей и их атрибутов. Скажем, есть пользователь по имени Джон Уокер, который является зарегистрированным пользователем (логин: jwalker pass: 1234 остаток на счете: $ 10). Когда он придет на сайт, и попытатьсявойти, используя Facebook войти, как он узнает, куда направить его? Другими словами, как Facebook узнает, что это правильный Джон Уокер, и его следует отправить на свою страницу пользователя?

Извините, еслиэтот вопрос тривиален, но я просто не могу думать об этом, хотя сам. Спасибо за вашу помощь заранее!

Захари

1 Ответ

0 голосов
/ 12 апреля 2011

Ну, Захари, у вас есть небольшое заблуждение относительно подключения к Facebook.Когда пользователь нажимает кнопку подключения Facebook, размещенную на вашем сайте, Facebook не заходит в вашу базу данных для аутентификации пользователя.Он аутентифицирует пользователя в своей базе данных, что независимо от того, имеет ли текущий пользователь учетную запись на Facebook или нет ... Если он / она имеет учетную запись, то Facebook выдает вам токен доступа для этого конкретного пользователя, регистрируя его на Facebook.Теперь ваша ответственность состоит в том, чтобы зарегистрировать этого пользователя в вашей системе и поместить его информацию в вашу базу данных.Позвольте мне объяснить подробнее и увидеть следующий код

<div id="fb-root"></div>
 <script>
   window.fbAsyncInit = function() {
   FB.init({appId: "Your APP ID",
            status: true,
            cookie: true,
            xfbml: true});

    FB.getLoginStatus(function(response) {
      if (response.session) {
        // This is the place where you get control when user is login to facebook
                // At this point you can redirect the user to a page where you can put the facebook returned information to database and login him into your system

      } else {

        }
    }); 
    FB.Event.subscribe("auth.login", function(response) {

    window.location.reload();
      });
FB.Event.subscribe("auth.logout", function(response) {


    self.location.href="http://www.iranibash.com/logout.php";
      });
     };
   (function() {
    var e = document.createElement("script");
    e.src = document.location.protocol + "//connect.facebook.net/en_US/all.js";
    e.async = true;
    document.getElementById("fb-root").appendChild(e);
  }());
   </script>

Теперь вы можете использовать информацию о пользователе, которую Facebook возвращает вам после успешного входа в систему.Вы можете хранить эту информацию в $ cookie.Я думаю, вы можете понять из этой информации?

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