2014-10-26 56 views
0

我想使用devise/omniauth。我看到有一個Facebook的寶石,也是一個Facebook的訪問令牌寶石,這兩個給我不同的問題。此時使用oauth2從iOS進行RoR身份驗證的最佳做法是什麼?就目前而言,只是FB,但很快就會有其他。從iOS使用Facebook進行安全認證的最佳做法是什麼?

我希望儘可能安全。我的首選是從iOS SDK中獲得已簽名的請求並將其傳遞給RoR,但看起來這是不可能的(也許是因爲我沒有在移動應用程序上的祕密[我不想放它那裏])。

回答

0

如果您正在使用omniauth最好的做法是使用特定omniauth戰略創業板要支持和facebook中的情況下,每一個身份驗證提供者,這將是omniauth-facebook

更新1: Considerung你對此有何評論,在那種情況你根本不需要omniauth。只需在webview中打開facebook oauth登錄,將redirect_url設置爲custom url schema(Section:Android或其他)。重定向之後,將令牌解析出webview位置並將其發送到服務器。 most used facebook clients是考拉和fb_graph。

順便說一句,「儘可能安全」,因爲您可以省略將Facebook授權令牌暴露給客戶端,但是在惡意手機上盜取令牌的風險非常有限,最終它是不是你正在處理的銀行api。現在很多應用程序都可以訪問Facebook和其他社交網絡

+0

但我不想做服務器端oauth流,我想在我的iOS設備上執行客戶端流。在用戶在設備上進行本地身份驗證後,我想將access_token發送到RoR服務器,以便我可以繼續在服務器上使用它。 – Eric 2014-10-26 15:55:55

+0

查看更新的答案 – 2014-10-26 16:52:25

+0

我最終使用omniauth-facebook-access-token來處理這個問題。我不想推出自己的。 – Eric 2014-10-26 20:20:47

相關問題