Facebook-чат - аутентификация X-FACEBOOK-PLATFORM - PullRequest
0 голосов
/ 14 сентября 2010

Я хочу построить XMPP-клиент на Android, у меня он отлично работает с аутентификацией с использованием Digest-MD-5, однако, когда я пытаюсь конвертировать его в X-FACEBOOK-PLATFORM, он не работает

Ответы [ 2 ]

3 голосов
/ 06 января 2011

Таким образом, в основном аутентификация X-FACEBOOK-PLATFORM использует только часть токена доступа. Это называется ключом сеанса.

Маркер доступа разделен "|" символов, поэтому вы разделяете токен доступа и берете только те символы, которые находятся в центре. См. Ниже.

****** | a681464febcefb8 ** **** 1020 1021 * | ******

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");
0 голосов
/ 03 апреля 2011

Мне никогда не удавалось использовать чат FB для работы с моим appSecret, но вместо этого я использовал sessionSecret. Вы можете получить его, используя старый REST API.

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

Таким образом, вы можете сохранить свое приложение в секрете. Также стоит отметить, что аутентификация X-FACEBOOK-PLATFORM редко успешна с первой попытки, но обычно требует 3-6 повторов. Бьет меня, почему, хотя, поскольку я использую тот же сеансовый ключ и секрет ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...