2014-01-06 155 views
9

我已經看到了這個問題的幾種風格,但沒有確切的具體,也沒有回答,所以試圖自己。原生Facebook登錄體驗通過瀏覽器登錄

我想通過瀏覽器建立Facebook登錄體驗到我的基於Facebook的應用程序,這將需要用戶儘可能不記得他們的密碼。這意味着,如果

  • 他們通過他們的桌面瀏覽器登錄並已登錄,只會要求他們「OK」的權限
  • 他們從他們的移動瀏覽器登錄,並通過記錄在其相應的本地應用程序(Android/iOS),它將簡單地將它們重定向到本地應用程序,請求應用程序權限並將它們重定向到瀏覽器上的成功頁面,這些瀏覽器從任何瀏覽器登錄並且當前未登錄到其上Facebook以任何形式,他們必須輸入他們的密碼並進行身份驗證(無論是本地還是瀏覽器,這並不重要)

我知道第一個如何完成 - 這非常簡單,使用JS SDK。第二點是更艱難的一點。

我知道現有的Android和iOS定製URL方案,但沒有具體的真正提到如何可以用於Facebook應用程序的認證和/或授權。有沒有人有任何想法如何做到這一點?

謝謝!

+0

回答我所經歷的,當你在iOS中有2個不同的賬戶之一,野生動物園,一個在本機應用程序登錄,然後SDK首先檢查本機應用程序的帳戶,並徵得同意,如果有沒有帳戶設置,然後它會去Safari瀏覽器,並尋找活動會話,否則重定向到登錄頁面 – Retro

+0

所以,你基本上想要在他們的本地應用程序(他們可能會登錄)在瀏覽器請求會話令牌? – PSIXO

+0

是的 - 它應該從瀏覽器 - >驗證本地應用程序 - >回到瀏覽器回調url – SalGad

回答

1

在iOS中使用iOS版的Facebook SDK。它將根據可用資源在不同情況下有效處理登錄過程。看看這個答案,瞭解不同的登錄流程

Integrating facebook

+0

沒有我的意思是,我正在瀏覽器上開發應用程序。無論他們訪問哪個平臺,是否可以通過各自的原生應用程序登錄它們? – SalGad

1

你要找的單點登錄行爲 - 在Facebook中,使用原生SDK,並設立SSO指令。它包括在設置中輸入你的捆綁ID,並設置一個引用URL名稱(通常是你的應用的名稱)。那麼會發生什麼 - 如果你啓動safari移動版,並登錄到Facebook。然後,通過良好的集成SSO啓動您的應用。然後,它不會要求您登錄/傳遞,因爲它知道您已通過瀏覽器進行身份驗證。與Android相同。

+0

這假設我在每個平臺上都有一個本機應用程序。假設我唯一的應用程序在網絡上並可通過瀏覽器訪問。有沒有一種方法可以通過本地應用在Facebook中驗證和授予我的應用的權限,而無需用戶再次通過瀏覽器登錄? – SalGad

+0

因此,情況是,用戶在移動設備上,使用Safari瀏覽器查看您的站點,並使用FB登錄。當他們啓動本地FB應用程序時,它是否會檢測到登錄信息並直接轉到應用程序,而無需再次登錄用戶?如果你設置你的網站的權利,我的經驗是,它會工作。請參閱FB SSO的網頁開發。 –