我想在android上構建一個XMPP客戶端,我已經使用Digest-MD-5進行了身份驗證,但是當我嘗試將其轉換爲X-FACEBOOK-平臺失敗。Facebook聊天 - X-FACEBOOK-PLATFORM身份驗證
0
A
回答
3
所以基本上X-FACEBOOK-PLATFORM認證只使用訪問令牌的一部分。這被稱爲會話密鑰。
訪問令牌由「|」分隔字符,所以您拆分訪問令牌並僅採用位於中心的字符。請參閱下文。
** * *** | a681464febcefb8* - ** |* ** * **
long callId = new GregorianCalendar().getTimeInMillis()/1000L;
String sig = "api_key=" + apiKey
+ "call_id=" + callId
+ "method=" + method
+ "nonce=" + nonce
+ "session_key=" + sessionKey
+ "v=" + version
+ appSecret;
try {
sig = MD5(sig);
}
catch (NoSuchAlgorithmException e) {
throw new IllegalStateException(e);
}
String composedResponse = "api_key=" + URLEncoder.encode(apiKey, "utf-8")
+ "&call_id=" + callId
+ "&method=" + URLEncoder.encode(method, "utf-8")
+ "&nonce=" + URLEncoder.encode(nonce, "utf-8")
+ "&session_key=" + URLEncoder.encode(sessionKey, "utf-8")
+ "&v=" + URLEncoder.encode(version, "utf-8")
+ "&sig=" + URLEncoder.encode(sig, "utf-8");
0
我從來沒有FB聊天與我appSecret工作,但使用sessionSecret代替。您可以使用古老的REST API獲取它。
http://developers.facebook.com/docs/reference/rest/auth.promoteSession/
這種方式可以讓您的appSecret作爲祕密。另外值得注意的是X-FACEBOOK-PLATFORM認證在第一次嘗試中很少成功,但通常需要3-6次重試。打我爲什麼雖然因爲我使用相同的會話密鑰和祕密..
相關問題
- 1. Facebook聊天API:身份驗證
- 2. Facebook身份驗證
- 3. Facebook身份驗證
- 4. Facebook身份驗證
- 5. 通過黑莓上的Facebook聊天進行身份驗證的問題
- 6. 使用xmpp協議在Facebook上進行身份驗證和聊天
- 7. Facebook sdk iPhone身份驗證
- 8. Facebook身份驗證令牌
- 9. Facebook身份驗證方法
- 10. AJAX與Facebook身份驗證
- 11. 僅限Facebook身份驗證
- 12. 身份驗證Facebook C#SDK
- 13. Facebook身份驗證登錄
- 14. Facebook + GAE + Android身份驗證
- 15. 實現Facebook身份驗證
- 16. CakePHP 2.3.1 Facebook身份驗證
- 17. Facebook身份驗證/連接
- 18. 拒絕Facebook身份驗證
- 19. Facebook身份驗證API
- 20. Facebook登錄身份驗證
- 21. PHP Facebook身份驗證
- 22. OAuth身份驗證,如Facebook
- 23. Facebook chatbot和身份驗證
- 24. Facebook身份驗證問題
- 25. Facebook API身份驗證
- 26. JSF Facebook身份驗證
- 27. Rails + Devise + Facebook身份驗證
- 28. 身份驗證與facebook後的身份驗證
- 29. Google身份驗證和Facebook身份驗證
- 30. Laravel 4身份驗證與Facebook(無密碼身份驗證)
你可以提取您的問題的相關部分到您的問題的文字,請? – 2010-09-15 14:59:12