2011-05-27 26 views
1

使用JavaScript API登錄時,它會返回到帶有許多參數的頁面,如訪問令牌,用戶標識和其他詳細信息。如果我想將我的數據庫中的用戶與此Facebook用戶相關聯,那麼這將是我希望存儲的數據以便稍後能夠查看以進行身份​​驗證?Facebook Javascript API:將登錄信息與用戶相匹配

換句話說,我應該存儲哪個令牌,以便下次用戶登錄時,我可以在數據庫中查找此令牌並驗證用戶身份?

我會使用UID,但似乎很容易欺騙另一個UID並冒充別人。

謝謝!

+0

你只使用js api還是服務器端的api,比如php? – 2011-05-27 23:20:23

+0

JS,但也通過OAuth PHP。 – 2011-05-27 23:23:38

回答

1

客戶端欺騙不是您關心的問題。如果您基於FB身份驗證顯示FB內容,則FB負責該過程的完整性。

如果你使用這個信息服務器端,那麼你需要遵循OAuth 2.0流程,這是不可欺騙的(據我所知),因爲你直接去FB進行身份驗證。

您不能混合這兩個流程,因爲您容易受到攻擊。

並回答你的其他問題,是的,你應該鏈接你的數據庫到UID,因爲access_token會改變。

0

您可以使用fb js sdk驗證fb訪問令牌。所以你可以把fb-uid當作保存。你從fb得到的令牌只在有限的時間內有效,所以你不應該保存它們。

更新: 關於fb-uid的保存:您的PHP腳本從facebook獲取已簽名的請求。該請求已與您的應用程序的祕密簽署,以便其他人無法讀取該數據。該請求包含當前用戶的fb會話(包括uid)和訪問令牌。

相關問題