2011-04-12 2 views
0

사용자가 자신의 Facebook 계정을 사용하여 내 웹 사이트에 로그인하도록하고 있습니다. 나는 페이스 북 개발자 (http://developers.facebook.com/docs/) 페이지에서 프로세스와 관련된 몇 가지 정보를 읽으려고 노력했다. 프로세스와 로직 정렬이 의미있는 반면, 큰 그림에 대해서는 여전히 길을 잃었다.페이 스북 웹 사이트 - 데이터베이스 연결 및 로직 연결

기존의 사용자 데이터베이스와 속성에 'Facebook 연결'링크가 어떻게 연결됩니까? 등록 된 사용자 인 John Walker라는 사용자가 있다고 가정 해보십시오 (로그인 : jwalker 패스 : 1234 계정 잔액 : $ 10). 그가 웹 사이트에 올 때 페이스 북 로그인을 사용하여 로그인하려고 할 때, 어떻게 그에게 지시해야하는지 어떻게 알 수 있습니까? 즉, 페이스 북은 존 워커 (John Walker)라는 것을 어떻게 알게 될 것이며, 그는 사용자 페이지로 보내야 만 할 것입니다.

이 질문에 사소한 질문이 있으면 죄송합니다.하지만 혼자 생각할 수는 없습니다. 미리 도움을 주셔서 감사합니다!

재커리

답변

0

잘 재커리, 당신은 연결 페이스 북에 대한 약간의 오해가 있습니다. 사용자가 사이트에있는 facebook connect 버튼을 클릭하면 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> 

당신은 페이스 북이 성공적인 로그인 후 돌아갑니다 사용자에 대한 정보를 사용할 수 있습니다를 참조하십시오. $ cookie에 그 정보를 넣을 수 있습니다. 나는이 정보로부터 당신이 이해할 수 있다고 생각합니까?