2011-08-08 31 views
4

我正在研究一個包含Web組件和移動組件的應用程序 - 最終用戶可以通過Web或通過手機直接訪問該服務。我想爲該服務提供基於Facebook的身份驗證。如何使用Facebook身份驗證從Android訪問我的Web服務?

我開發了一個簡單的基於Facebook JavaScript SDK的Web界面登錄機制。服務器端通過cookie確定哪個用戶登錄。這工作正常。

從Android方面來說,我希望用戶能夠使用他們的Facebook憑證登錄以訪問服務器端的服務(而非Facebook特定服務)。我希望這可以通過讓用戶使用JavaScript SDK時呈現的與請求相同的cookie來工作。

說完看着的文件,似乎有更多或更少的兩個選項:

  • 使用Facebook的Android庫,以使移動應用程序直接訪問Facebook

  • 使用移動網絡負擔登錄到服務

以上都不是真的我們想要的 - 第一個是從的直接Facebook訪問Android應用程序,並沒有真正涉及到有一個Web服務的情況;第二個不與本地移動應用程序集成。

我猜測人們必須做到這一點 - 任何關於如何做到這一點的指針?

TIA,

Seán。

回答

0

你總是可以使用PhoneGap開發你的應用程序?它會爲您節省大量時間,並使您能夠使用現有的FBC代碼。

+0

很好的建議,但我們已經在本地應用上做了很多工作,因此我們投入了這個道路。 –

0

我有相同的情況。我有一個JSON服務,我想從我的Android應用程序調用,但作爲一個經過身份驗證的用戶。

想想這樣。通常情況下,Web服務將具有某種身份驗證,對於每個用戶來說不一定是不同的。那麼爲什麼不從概念上分離出Facebook的身份驗證和Web服務的身份驗證。

該應用程序控制用戶可以做和看到,從而控制認證。如果登錄Facebook失敗,該應用將拒絕用戶訪問該服務。

在Web服務方面,您可能只需要一個API密鑰,您可以像其他API一樣發佈到應用程序。此密鑰初始化一個會話,以便每個設備都有一個單獨的會話ID,但它們都使用相同的API密鑰。或者,從Facebook提供的電子郵件地址可以與api密鑰一起用作用戶名以啓動會話。

有什麼想法?

相關問題