【发布时间】:2011-08-11 21:43:16
【问题描述】:
我目前正在开发一个需要连接到 facebook 聊天的黑莓应用程序。我正在尝试使用 XMPP/Jabber 界面。我可以从服务器获得挑战,但是当我发送响应时,我得到“未授权”失败。我的回复结构如下:
api_key=[my api key]&call_id=[time in millis]&method=auth.xmpp_login&nonce=[nonce from challenge]&session_key=[解释如下]&v=1.0&sig=[计算如下所示]
对于会话密钥,我向用户发送了一个浏览器字段到 Facebook 的站点。它以AAA...|BBB...|CCC... 的形式返回一个访问令牌,其中BBB... 是会话密钥
sig 的计算方法是获取以下字符串,对其进行 md5 处理,然后将字节转换为十六进制字符串:
api_key=[我的 api 密钥]call_id=[以毫秒为单位的时间]method=auth.xmpp_loginnonce=[来自挑战的随机数]session_key=[上述解释]v=1.0[此处附加的密钥]
我从那里对响应进行 base64 编码,然后发送:
<response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>[Base64EncodedResponse]</response>
Facebook 的回应始终是未经授权的错误,没有其他解释。有什么东西不见了还是什么?感谢您的帮助。
【问题讨论】:
标签: facebook blackberry java-me xmpp