你好,我在我的android手機上使用facebook sdk for android,並使用單一登錄。它在我登錄Facebook應用程序時正常工作,我的應用程序也登錄了。 對於註銷,我遇到了困惑。Android:facebook sdk註銷問題?
我實現的方式是從應用程序的用戶首選項中恢復訪問令牌和過期日期,並檢查會話的有效性。如果過期,應用程序會調用facebook.authorized函數,一旦授權訪問令牌和過期日期將再次更新。
處理註銷時,我發現有些事情有點混亂。
1)當我從Facebook應用程序註銷時,我的應用程序仍然可以通過並請求用戶詳細信息。儘管我的應用程序上保存的訪問令牌與facebook應用程序沒有任何關係,但我認爲在請求數據時至少會給我一個錯誤。但它沒有給我錯誤。
它假設是這樣的。從Facebook應用程序註銷不會影響我存儲在我的應用程序中的訪問令牌。
2)當我從我的應用程序註銷而不是Facebook應用程序時,Facebook應用程序不會自動註銷。
因此,如果用戶授予[我]應用程序的訪問權限,他將永遠通過身份驗證,如果他登錄到[官方] Facebook應用程序?即使我嘗試在[my]應用程序中調用facebook.logout(上下文)?對不起,但我有點困惑。 – harsimranb 2012-01-09 19:34:40
是的 - 只要您的應用程序有權訪問Facebook帳戶,使用Facebook API,並且官方Facebook應用程序仍然登錄,那麼下次您啓動應用程序時,它將使用Facebook應用程序獲取新的應用程序訪問令牌,並將默認驗證。這就是單點登錄應該如何工作。 – RivieraKid 2012-01-10 00:40:09
因此,是facebook.isSessionValid()檢查用戶是否實際登錄的正確方法?因爲即使用戶登錄,facebook.isSessionValid()也會返回true。 – harsimranb 2012-01-10 01:56:05