我已经成功地实现了一个支持X-FACEBOOK-PLATFORM身份验证的XMPP客户端,目前可以连接任何用户进行聊天。
在那之后,我需要创建一个具有聊天访问权限的不同应用程序,我通过将app ID和App Secret更改为新应用程序的ID和App Secret来重用代码。我惊讶地发现,一些用户可以使用我的旧应用程序成功登录,但无法使用新应用程序登录!!(奇怪)。
我已经检查了两个应用程序的配置,它们是相似的,唯一的区别是“强制使用OAuth调用和auth.login的登录密码”在新的应用程序中不可用,而在旧的应用程序中设置为“禁用”。这两个应用程序都是使用相同的Facebook帐户创建的。
谁能解释一下这个选项去了哪里?它是否是聊天工作的关键?此外,还有什么可能是错误的吗?
谢谢!
发布于 2011-09-02 23:34:16
那里!我想通了!看起来“不一致”是非常一致的。仍然能够连接的用户是那些具有短fb_user_id的用户(具有9位ids的用户)。使用新的15位数字ids的用户一直在底层xmpp库iksemel中触发错误,其中md5散列长度为64倍的数据将产生错误的结果。
我们已经为iksemel的google-code和google-group提交了错误报告,以下是链接:
http://code.google.com/p/iksemel/issues/detail?id=32
http://groups.google.com/group/iksemel/browse_thread/thread/4079f329718f55c
https://stackoverflow.com/questions/7276676
复制相似问题