簡體   English   中英

使用新的“ iOS iOS的Facebook SDK”與舊的“ Facebook iPhone SDK”進行Facebook身份驗證

[英]Facebook authentication with new 'Facebook SDK for iOS' vs. old 'Facebook iPhone SDK'

我正在將Facebook與我的iPhone / iOS應用程序集成,我想知道我是否正確理解了登錄過程的本質。

使用舊的Facebook SDK(“ Facebook iPhone SDK”)時,當我們需要向用戶請求身份驗證權限時,將顯示UIWebView並顯示登錄提示。 借助新的SDK(“ iOS版Facebook SDK”),SDK使用Apple的快速應用程序切換功能將應用程序暫時置於后台模式,然后加載iOS Facebook應用程序或Safari進行身份驗證。 這基本上是要旨嗎?

我已經嘗試過通過新的SDK技術對我的應用程序進行身份驗證,並且由於我的應用程序的性質,它不支持后台。 這是否意味着我必須使用舊的SDK來啟動基於UIWebView的身份驗證? 我認為無論如何,這種實現方式會更清潔。 我這樣做會遇到任何主要的不利之處嗎?

看看這個問題和我的答案: Iphone Facebook Connect示例調用safari。 我不想使用野生動物園

您可以始終使用UIWebView Facebook試圖做到這一點,因此用戶只需要在每個設備上登錄一次(通過Facebook應用程序或在Safari中登錄),但我不喜歡這種流程(尤其是在iPad上)。 盡管我寧願不熟悉Facebook代碼,但確實發現注釋了幾行是恢復舊行為的快速方法。

我認為情況並非如此。

我知道的Facebook SDK(在https://github.com/facebook/facebook-ios-sdk上提供)無法執行您所描述的任何操作。 您使用的是這個SDK嗎? 我相信從“舊的” facebook SDK對該SDK的最后主要更新是添加了對OAuth樣式身份驗證的支持。 進行此更改后,它們破壞了代碼兼容性,因此應用程序被迫進行更改以合並最新的SDK。

當您在此SDK中調用“授權”時,您會傳遞應用ID,所需的權限以及用於通知錯誤或成功(已登錄,未登錄,已注銷)的回調委托。 您還可以設置上一個會話可能保留的任何訪問令牌。 Facebook會驗證此訪問令牌,如果它不存在或無效,則會顯示一個模式登錄對話框。 我相信此對話框的內容是網頁。 SDK使用OAuth對用戶進行身份驗證,並使身份驗證令牌可用於會話之間的持久化。

該應用程序絕不會退出以運行Facebook應用程序或Safari。 我很好奇-是什么讓您相信情況如此? (或者,也許還有一些我不知道的其他SDK?)

在此頁面上查看: https : //github.com/facebook/facebook-ios-sdk

並查看Single Sign-On 上面介紹了快速切換的情況。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM