2011-10-01 37 views
0

我正在使用服務器端流量進行FB身份驗證(如http://developers.facebook.com/docs/authentication/中所述),並且我能夠成功獲取身份驗證令牌。現在我想實現 - 1)服務器端能夠識別用戶2)當用戶註銷FB時,當下一個請求來自客戶端時,我的服務器代碼能夠檢測到這一點。通過Java訪問Facebook Cookie數據(不含php-sdk)

我能想到的唯一方法就是將Auth令牌保存爲用戶端的cookie,將令牌與服務器上的用戶ID相關聯,並通過FB JavaScript將OnLogout事件處理程序中的cookie刪除SDK。我想知道是否有更好的(推薦?)方式來做到這一點。特別是,我想使用FB cookies(FB.init創建的cookie)來執行此操作。該cookie似乎對我加密,除Where to find the Facebook cookie?之外,我找不到任何有關解密的文檔。我記得閱讀了一些解密cookie(GetUser)的PHP SDK函數,但我不能使用它,因爲我的代碼是用Java編寫的。如果可能的話,我想避免使用第三方Facebook Java SDK。我會很感激任何關於此的指針。

回答

-1

爲什麼你想避免使用已經完成所有這些工作的Java API?

在任何情況下,請查看任何現有的Java/FB API - 如果您無法將PHP轉換爲Java,那麼不妨使用已存在的代碼重新發明輪子。

http://restfb.com/

如果我要對此我採取已知能工作的API(如Koala for Rails)和向後工作。不過,請確保選擇一個實現強制性OAuth 2的東西。

+0

我想他是混合了java和javascript。 – bkaid

+0

我對Java API的初步搜索沒有引導我進行任何維護良好的項目,這是我想避免使用它們的原因之一。 (但是,Spring Social似乎應該足夠好)。但這個問題的更大原因是我無法從FB中找到關於cookie格式的任何'官方'信息。如果沒有這些信息,我無法理解第三方Java API如何實現cookie解密。 –

+0

其他FB似乎沒有任何實用工具來閱讀Facebook cookie並從中返回訪問令牌。或者我在這裏錯過了什麼? – sbidwai