Несоответствие X-FACEBOOK-PLATFORM при использовании разных приложений

Я успешно внедрил XMPP-клиент с поддержкой аутентификации X-FACEBOOK-PLATFORM и в настоящее время могу подключить любого пользователя к чату.

После этого мне нужно было создать другое приложение с доступом к чату, и я повторно использовал код, изменив идентификатор приложения и секрет приложения на новые приложения. Мое удивление состоит в том, что некоторые пользователи, которые могут успешно войти в систему с моим старым приложением, не могут сделать это с новым!! (Странно).

Я проверил обе конфигурации приложения и они одинаковы, с той лишь разницей, что "Принудительное использование секретного имени входа для вызова OAuth и для auth.login" НЕ доступно в новом приложении, в то время как для него установлено значение "Отключено" в Старый. Оба приложения были созданы с использованием одной учетной записи Facebook.

Может кто-нибудь объяснить, где этот параметр пошел и является ли он ключевым для работы чата? Кроме того, есть мысли о том, что еще может быть не так?

Спасибо!

1 ответ

Решение

Там! Я понял! Похоже, "несогласованность" очень последовательна. Пользователи, которые все еще могут подключиться, это пользователи с коротким fb_user_id (те, у кого 9-значные идентификаторы). Пользователи с новыми 15-значными идентификаторами последовательно вызывали ошибку в iksemel базовой библиотеке xmpp, где хэширование данных md5 длиной, кратной 64, приведет к неверному результату.

Мы подали отчет об ошибке как для google-code, так и для google-group для iksemel, вот ссылки:

http://code.google.com/p/iksemel/issues/detail?id=32

http://groups.google.com/group/iksemel/browse_thread/thread/4079f329718f55c

Другие вопросы по тегам