我正在處理使用X-FACEBOOK-PLATFORM SASL認證機制的facebook聊天認證。使用X-FACEBOOK-PLATFORM SASL認證的facebook聊天認證
我正在按照Facebook開發人員論壇和計算器的問題所述形成用戶和密碼。
的一點是,如果我使用application_secret作爲密碼,我可以登錄,但根據計算器的問題(下面的鏈接)它應該是從舊的REST API方法auth.promoteSession生成會話
我想使用舊的休息API方法,以避免在我們的桌面應用程序罐中分發application_secret。
所以問題是,你是如何設法用auth.promoteSession登錄的?
我已閱讀下列哪些職位有很大的幫助:
http://community.igniterealtime.org/message/205739#205739
XMPP with Java Asmack library supporting X-FACEBOOK-PLATFORM
而且我用它來fromt的igniterealtime後的類SASLXFacebookPlatformMechanism.java,它被註冊correclty。
我有xmpp_login和offline_access權限。我已經禁用了刪除已過時的身份驗證方法,所以我可以調用舊的休息API方法,在這種情況下:auth.promoteSession 我在Facebook中也使用客戶端流身份驗證。
因此,使用application_secret作爲密碼,我得到:
<stream:features><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>X-FACEBOOK-PLATFORM</mechanism><mechanism>DIGEST-MD5</mechanism></mechanisms></stream:features>
<challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">dmVyc2lvbj0xJm1ldGhvZD1hdXRoLnhtcHBfbG9naW4mbm9uY2U9NEIxRUQzNTA5MTQ5MDQxRTE4N0QyNTA0NTUzNjBDQjc=</challenge>
<success xmlns="urn:ietf:params:xml:ns:xmpp-sasl"/>
但是,如果使用由auth.promoteSession返回的值,我得到:
<stream:features><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>X-FACEBOOK-PLATFORM</mechanism><mechanism>DIGEST-MD5</mechanism></mechanisms></stream:features>
<challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">dmVyc2lvbj0xJm1ldGhvZD1hdXRoLnhtcHBfbG9naW4mbm9uY2U9MzhFQkUxOTUxNENGRUU4ODc2NzRDREQ0RjhBMUQ0QjI=</challenge>
<failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><not-authorized/></failure>
[我把它作爲一個小型圖書館](https://github.com/javanto/smack-facebook)。 – hleinone 2012-01-24 09:19:20
@hleinone我也試圖在ma android應用程序中實現Facebook聊天,但我沒有得到要導入的SASLMechanism類。我們必須下載任何庫或jar文件才能導入。如果請提供有效的鏈接以下載.. – Arun 2013-01-29 07:06:47
您需要使用[Smack](http://www.igniterealtime.org/projects/smack/index.jsp)庫。 – hleinone 2013-01-29 08:42:05