2013-08-25 44 views
0

我想在我的網站上實現Facebook登錄身份驗證和使用Facebook JavaScript SDK的一部分。獲取Facebook登錄彈出每次用戶嘗試登錄使用我的網站上的Facebook

用一個簡單的代碼

window.fbAsyncInit = function() { 
FB.init({ appId: 'xxxxxxxxxxxxx', //change the appId to your appId 
    status: true, 
    cookie: true, 
    xfbml: true, 
    oauth: true}); 

function updateButton(response) 
{  
    if (response.status === 'connected') 
    { 
     $('#fb-auth').on('click',function(){ 
      FB.api('/me', function(info) { 
       login(response, info); 
      }); 


      //FB.logout(function(response) { 
       //logout(response); 
      //}); 
     }); 
    } 
    else 
    { 
     $('#fb-auth').on('click',function(){ 
      FB.login(function(response) { 
       if (response.authResponse) { 
        FB.api('/me', function(info) { 
         login(response, info); 
        });  
       } 
       else { 
        ; 
       } 
      }, {scope:'email,user_birthday,status_update,publish_stream,user_about_me'}); 
     }); 
    } 
} 
FB.getLoginStatus(updateButton); 
//FB.Event.subscribe('auth.statusChange', updateButton); 
};  

Facebook登錄工作正常,但我所要做的是下一次,當他們嘗試登錄與Facebook,他們應該得到登錄彈出和選項來登錄,另一個用戶。

第一次登錄後,下次嘗試再次登錄Facebook時,他們在另一個選項卡中登錄到Facebook,然後將它們重定向到登錄頁面,而沒有任何彈出窗口或任何內容。

任何人都可以請給我一些指針,作爲什麼需要做到這一點。

+0

但是...用戶已經登錄..您是否試圖讓用戶以不同的用戶身份登錄?在這種情況下,您需要首先將用戶重定向到註銷過程 – Lix

回答

0

如果您希望每次訪問該應用時都登錄該用戶,則應在您的應用啓動時獲得狀態connectedgetLoginStatus()時執行FB.logout

因此會話被破壞後,您可以再次撥打FB.login。就像 -

// app starts here 
FB.getLoginStatus() 
{ 
    if(status == "connected") 

     // call FB.logout() 
     // call FB.login() 

    else 

     // call FB.login() 

} 
+0

謝謝,是的,這是問題所在。我沒有正確使用註銷。 其實並沒有使用Facebook註銷,因爲它沒有從Facebook註銷。 – GeekAb