[英]Facebook SDK iOS Login
使用適用於iOS的Facebook SDK,如何判斷用戶是否已經登錄,因此該應用程序不必經過登錄過程?
當前,在登錄過程中,我將訪問令牌和到期日期保存為用戶默認值,然后在我的應用程序運行時開始初始化facebook對象時將其讀出。
但是,如果用戶后台應用程序,進入Safari,更改為其他Facebook帳戶或登錄,然后又回到我自己的應用程序中,將會發生什么。 Facebook應用程序不應該返回存儲的會話不再有效嗎? 我將如何解決? 當前,我的facebook對象認為該會話有效,但是不幸的是,當我嘗試發布內容時,在相應的Facebook頁面上看不到任何內容。
我在這里想念什么嗎? 謝謝你的幫助!
關於Facebook在iPhone(SDK v3.0 +)上的登錄,它在系統級別登錄中排名第一,在Facebook本機iOS應用程序中排名第二,在移動Safari Facebook登錄中排名第三。 但是,如果用戶使用移動瀏覽器登錄到您的應用程序,使該應用程序后台運行,使用移動瀏覽器登錄到另一個Facebook帳戶,然后返回到您的應用程序,則在您退出iOS之前,應用程序中的訪問令牌和會話將一直有效應用程式。 通常,您使用以下行注銷:
[FBSession.activeSession closeAndClearTokenInformation];
登錄是通過以下方式來啟動的:
[FBSession openActiveSessionWithReadPermissions:
如果您使用的是Facebook iOS SDK 3.2+,則可以調用以下命令查看是否打開了經過身份驗證的Facebook會話:
[[FBSession activeSession] isOpen]
另外,您不必在本地保存訪問令牌或到期日期。 您可以通過以下電話訪問它們:
[FBSession activeSession].accessTokenData.accessToken
[FBSession activeSession].accessTokenData.expirationDate
這是一些相關的Facebook iOS文檔的鏈接:
您正在執行正確的操作來保存並恢復Facebook訪問令牌和到期日期。 如果使用過期的令牌進行調用,則任何需要有效令牌的FB API都將失敗並顯示錯誤。 處理錯誤並從FB本地注銷,然后要求您的用戶再次登錄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.