2011-05-30 83 views
0

我正在使用facebook sdk和facebook connect將fb集成到使用asp.net和c#的我的網站中。用戶可以使用該代碼成功登錄。我面臨的問題是,無論何時用戶通過fb登錄;如果用戶從Facebook的網站註銷,然後嘗試使用fb connect通過我的網站進行登錄,則會發生錯誤:會話無效,因爲用戶已註銷。使用Facebook登錄登錄後出現問題

我應該再次提供Facebook連接按鈕來登錄,因爲它最初做,但它會給出錯誤。使用的代碼如下所示:

protected void Page_Load(object sender, EventArgs e) 
{ 
     if (!Page.IsPostBack) 
     { 
      if (ConnectAuthentication.isConnected()) 
      { 
       Facebook.Session.ConnectSession _connectSession = new Facebook.Session.ConnectSession(ConfigurationManager.AppSettings["ApiKey"], ConfigurationManager.AppSettings["AppSecret"]); 
       if (!_connectSession.IsConnected()) 
       { 
        lblStatus.Text = "Please sign-in with Facebook."; 
       } 
       else 
       { 
        Facebook.Rest.Api api = new Facebook.Rest.Api(_connectSession); 

        Facebook.Schema.user user = api.Users.GetInfo(); 
        string fullName = user.first_name + " " + user.last_name; 
        lblStatus.Text = fullName; 
       } 
      } 
      else 
      { 
       lblStatus.Text = "Please sign-in with Facebook."; 
      } 
     } 
} 

回答

2

當用戶註銷會話失效時。您需要讓用戶再次登錄。如果您不想這樣做,請在身份驗證過程中請求「offline_access」擴展權限。這樣用戶不必登錄。僅供參考,您將不得不在2011年9月1日之前轉入OAuth。此後,Facebook將僅支持OAuth。

+0

是否支持Facebook開發套件和Facebook連接? 我必須再次更改上面的代碼嗎? – Jayesh 2011-05-31 14:38:15

+0

僅支持OAuth。舊的REST令牌將不再受支持。所以是的,你將不得不遷移到OAuth。 我也在同一條船上,並且正在遷移到OAuth。舊的Facebook開發工具包現已過時。檢查Facebook開發人員路線圖網址http://developers.facebook.com/roadmap/ – dotnetster 2011-05-31 14:46:27

+0

該死! 感謝您的通知。你能和我分享最好的安全鏈接嗎? – Jayesh 2011-05-31 14:51:03