2012-07-25 33 views
0

我在下面:https://developers.facebook.com/docs/guides/web/遇到問題與整合Facebook驗證

我的網站都有自己的登錄系統(這是寫在Django/Python)的。如果不使用django-social-auth類型的插件,我想將Facebook身份驗證集成到我的Web應用程序中。

<div id="fb-root"></div> 
<script> 
    window.fbAsyncInit = function() { 
    FB.init({ 
     appId  : '{{facebook_app_id}}', // App ID 
     channelUrl : '//{{host_name}}/external/fb_channel', // Channel File 
     status  : true, // check login status 
     cookie  : true, // enable cookies to allow the server to access the session 
     xfbml  : true // parse XFBML 
    }); 
    // Additional initialization code here 
    }; 
    // Load the SDK Asynchronously 
    (function(d){ 
    var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0]; 
    if (d.getElementById(id)) {return;} 
    js = d.createElement('script'); js.id = id; js.async = true; 
    js.src = "//connect.facebook.net/en_US/all.js"; 
    ref.parentNode.insertBefore(js, ref); 
    }(document)); 
</script> 

但是,我已經按照該指令(https://developers.facebook.com/docs/guides/web/)和登錄按鈕顯示預期和點擊時,彈出窗口顯示,讓我的應用。 (我在127.0.0.1這是本地主機運行我的服務器)

那麼,接下來是什麼?當用戶點擊登錄並允許登錄時,我希望做一些服務器端驗證,以使用fb賬戶登錄我的用戶。但我不知道現在該做什麼。

點擊使用FB登錄後,它閃爍並沒有打我的服務器。需要一些指導。

謝謝。

回答

0

我無法步行通過的代碼,你需要每一位,不過,我可以解釋一下,我已經在過去使用的一般過程(包括一些Django的網站),希望你會可以用它來建立自己的網站:

  1. 整合Facebook JavaScript SDK
  2. 綁定一個JavaScript函數調用FB.login一個「登錄與Facebook」按鈕,要求您需要爲用戶
  3. 的所有權限在FB.login調用的function(response)部分中,處理返回ED響應,然後執行一個Ajax POST到Django視圖(I使用jQuery此),其需要的響應,解析它來檢索該用戶的訪問令牌並將其存儲在該用戶的用戶簡檔對象。
  4. 然後,您可以使用此的access_token讓Facebook代表該用戶的服務器端的Graph API請求,或者如果你願意,可以真正地使用JavaScript SDK有很多,使所有您的通話完全在客戶端Ajax與Django後端進行交互。