2012-07-10 59 views
6

我爲我的Android應用程序使用Facebook身份驗證。如何使用facebook-id安全登錄我的android應用程序?

我在我的應用程序中使用facebook ID [通過HTTP發佈到帶有facebook-id的Web API]對用戶進行身份驗證。所以如果有人在我的應用中瞭解任何用戶的facebook-id,他們可以輕鬆發佈到允許他們訪問應用的URL。

有沒有推薦的方法來做到這一點?

回答

2

一旦你登錄POST,Facebook會給你一個authtoken,它是唯一的,但它會在某個時間到期。根據這個標記生成一個臨時的「session_key」(它可以是md5(facebook_token + user_id),將這個session_key存儲在你的數據庫中,並將它發送回你的應用程序

隨着從應用程序到你的服務器的每個請求,發送此session_key和用戶名在服務器端,你必須檢查session_key是否在你的數據庫中,並且它是否被分配給了「user_id」。

如果一切正常,你可以繼續操作,否則返回

當用戶註銷時,刪除此session_key(當他將用facebook登錄時將會重新生成)。

希望這會有所幫助。

+0

我使用的應用程序訪問令牌不會過期,對所有用戶都是一樣的。 – 2012-07-10 15:35:50

+0

這需要Facebook的oauth令牌可以在您的應用和您的API之間共享。即使它現在有效,但沒有什麼可以告訴你它仍然會在他們系統的下一個版本中執行。 – ZeWaren 2013-06-10 09:24:15

1

當用戶登錄到Facebook時,它會爲您提供身份驗證令牌和臉書ID。在您的應用服務器中驗證令牌是否屬於用戶[通過https://graph.facebook.com/me?accesstoken=]。授予他訪問權限,如果其有效。

相關問題