2015-02-06 82 views
0

我正在嘗試構建一個僅向允許的用戶顯示信息的網頁,並允許這些用戶修改該信息。我想使用Facebook來認證允許的用戶。我會將這些用戶的Facebook ID存儲在數據庫中,並檢查登錄的用戶ID與存儲的用戶ID,以確定此人是否可以訪問該信息。我需要Facebook PHP SDK嗎?

使用Facebook JavaScript SDK我可以登錄用戶並在客戶端獲取他的ID。但我不確定我應該從那裏出發。

我相信我需要使用PHP SDK來做我所描述的。我對嗎?或者有沒有一種方法可以僅使用我不知道的JavaScript SDK?

回答

0

您可以使用PHP SDK的Javascript SDK沒有SDK任意組合

它是靈活的,它是你如何編碼。

但是由於您使用的是JS SDK進行登錄,如果您希望只使用JS SDK來處理應用程序的所有功能,

有沒有辦法只使用JavaScript SDK,我不知道?

你究竟是什麼意思?就像你用JS SDK使用FB.login()登錄,就可以調用其他API(Graph APIs)像 -

FB.api("/me")FB.api("/me/feed")FB.api("/me/accounts")等等,等等

你可以通過這個 - Facebook SDK for Javascript


編輯

爲了使請求安全,以便沒有人濫用您的API和d獲取用戶數據,您可以發送客戶端訪問令牌而不是facebook id。此訪問令牌是臨時性質的(有效期只有2個小時)

我會解釋這一個比特

  1. 客戶端將訪問令牌發送到服務器
  2. 服務器將驗證這一點令牌。例如:

    \GET https://graph.facebook.com/debug_token?input_token={token-to-inspect}&access_token={app-token} 
    

    您可以使用簡單的curl REQ或file_get_contents(),使這個要求

    Reference

  3. 如果它是一個有效的,得到的響應user_id,併發送相應的數據。
  4. 如果令牌失敗,您可能會向您的應用程序發送身份驗證錯誤。

由於令牌一段時間後到期,沒有人可以濫用令牌!

+0

謝謝你的回答。我的意思是我只會用JS來做。我能想到的方式是使用API​​獲取用戶標識,使用JS將其發送到服務器,如果該標識對應於允許的用戶,則服務器將數據發回。但是這不是不安全嗎?任何知道允許ID的人都可以繞過Facebook登錄,並將該ID發送到服務器並獲取數據,對吧? – 2015-02-06 09:07:20

+0

檢查編輯! – 2015-02-06 12:07:12

+0

我認爲這正是我想要的。謝謝! – 2015-02-06 14:23:33