【问题标题】:Trouble authenticating to facebook chat on Blackberry在黑莓上验证 Facebook 聊天时遇到问题
【发布时间】: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


    【解决方案1】:

    我能够弄清楚。问题是,它需要会话密码,而不是应用密码。所以签名末尾附加的秘钥是通过调用 auth.promoteSession 获取的,而不是从网站上的 App Secret 获取的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多