小编zag*_*iff的帖子

使用X-FACEBOOK-PLATFORM SASL身份验证进行Facebook聊天身份验证

我正在使用X-FACEBOOK-PLATFORM SASL认证机制处理facebook聊天认证.

我正在形成用户和密码,如facebook开发人员论坛和stackoverflow问题中所述.

关键是如果我使用application_secret作为密码我可以登录,但根据stackoverflow问题(下面的链接),它应该是从旧的rest api方法auth.promoteSession生成的会话

我想使用旧的rest api方法,以避免在我们的桌面应用程序jar中分发application_secret.

所以问题是,你是如何设法使用auth.promoteSession登录的?

我已阅读以下帖子,这些帖子非常有帮助:

http://community.igniterealtime.org/message/205739#205739
XMPP与Java Asmack库支持X-FACEBOOK-PLATFORM

我正在使用来自igniterealtime帖子的SASLXFacebookPlatformMechanism.java类,它已经注册了correclty.

我有xmpp_login和offline_access permisions.我已经禁用了删除过时的Auth方法,所以我可以调用旧的rest 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"/>
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用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>
Run Code Online (Sandbox Code Playgroud)

java facebook chat xmpp smack

2
推荐指数
1
解决办法
4508
查看次数

标签 统计

chat ×1

facebook ×1

java ×1

smack ×1

xmpp ×1