【问题标题】:Facebook chat - X-FACEBOOK-PLATFORM authenticationFacebook 聊天 - X-FACEBOOK-PLATFORM 身份验证
【发布时间】:2010-09-14 13:53:39
【问题描述】:

我想在 android 上构建一个 XMPP 客户端,我使用 Digest-MD-5 进行身份验证使其运行完美,但是当我尝试将其转换为 X-FACEBOOK-PLATFORM 时,它一直失败。

【问题讨论】:

  • 能否将下载的相关部分提取为问题中的文本?

标签: android facebook xmpp


【解决方案1】:

所以基本上 X-FACEBOOK-PLATFORM 身份验证只使用访问令牌的一部分。这称为会话密钥。

访问令牌由“|”分隔字符,因此您拆分访问令牌并仅获取位于中心的字符。请参阅下文。

******|a681464febcefb8* -**|**** **

long callId = new GregorianCalendar().getTimeInMillis() / 1000L;

            String sig = "api_key=" + apiKey
                            + "call_id=" + callId
                            + "method=" + method
                            + "nonce=" + nonce
                            + "session_key=" + sessionKey
                            + "v=" + version
                            + appSecret;

            try {
                sig = MD5(sig);
            }
            catch (NoSuchAlgorithmException e) {
                throw new IllegalStateException(e);
            }

            String composedResponse = "api_key=" + URLEncoder.encode(apiKey, "utf-8")
                                        + "&call_id=" + callId
                                        + "&method=" + URLEncoder.encode(method, "utf-8")
                                        + "&nonce=" + URLEncoder.encode(nonce, "utf-8")
                                        + "&session_key=" + URLEncoder.encode(sessionKey, "utf-8")
                                        + "&v=" + URLEncoder.encode(version, "utf-8")
                                        + "&sig=" + URLEncoder.encode(sig, "utf-8");

【讨论】:

    【解决方案2】:

    我从来没有让 FB 聊天与我的 appSecret 一起工作,而是使用了 sessionSecret。您可以使用旧的 REST API 来获取它。

    http://developers.facebook.com/docs/reference/rest/auth.promoteSession/

    这样您就可以将您的 appSecret 保密。另外值得注意的是,X-FACEBOOK-PLATFORM 身份验证很少在第一次尝试时成功,但通常需要 3-6 次重试。打败我为什么虽然我使用相同的会话密钥和秘密..

    【讨论】:

      猜你喜欢
      • 2011-08-29
      • 2013-10-02
      • 2020-03-28
      • 2017-08-12
      • 1970-01-01
      • 1970-01-01
      • 2014-03-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多