2012-05-24 44 views
2

這個問題是關於這個問題:FB.logout() called without an access tokenFB.logout() - 沒有訪問令牌 - 「登錄爲不同的用戶」

我有一個問題,我希望有人能幫忙帶。

我在上面的鏈接中找到了所有的東西,但是當有人使用公共計算機並且自己無意中登錄到FB時如何處理?然後,新用戶嘗試登錄到應用程序,但它不是它們。我想要一個按鈕將它們從FB中徹底註銷以「以其他用戶身份登錄」。

我不能這樣做,直到他們授權應用程序,對不對?所以他們需要在其他人的賬戶下授權該應用,然後註銷?必須有另一種方式。

任何反饋將是偉大的 - 嘗試尋找一段時間,但無濟於事。我可能會過度考慮它,但應該有一些「以不同用戶身份登錄」的方式。

回答

0

你可以這樣做:

FB.getLoginStatus(function(response) { 
    if (response.status === "connected") { 
     FB.api("me", function(response2) { 
      // notify the user he is logged in as response2.name, and if it's not him call FB.logout 
     } 
    } 
    else { 
     // prompt the user to login 
    } 
} 
0

修改您登出來是這樣的: -

   function logout(response){ 
     console.log("From logout" + response); 
     if(!response.authResponse){ 
      window.location = "/web/login/"; 
      return; 
     } 

      FB.logout(function(response){ 
       FB.Auth.setAuthResponse(null,'unknown'); 
       logout(); 
      }); 
     } 

即繼續發送註銷請求給Facebook直到實際註銷情況。

0

嘗試使用會話並將用戶的ID保存在該會話中。 您可以控制該會話的到期時間(如果用戶在頁面上沒有任何活動,則默認爲20分鐘) 然後在每個頁面中加載甚至檢查該用戶的季節是否仍然活動。

頁Load事件:

if(Session["LoggedIn"]==null) 
{ 
Response.Redirect("~/Login.aspx"); 
} 

上面這段代碼將用戶重定向如果會話已過期登錄你的網站的頁面。

相關問題