Образец приложения Bluemix завершается с ошибкой с ошибкой аутентификации в MCA

Я пытаюсь создать и запустить этот образец приложения Bluemix:

Примеры BMS: helloTodoAdvanced

Я следую инструкциям в README.md проекта дословно. Конкретно:

  1. Чистая проверка проекта bms-samples-hellotodo-advanced с Github.

  2. Создано новое стандартное приложение Bluemix «MobileFirst Starter».

  3. Проверена базовая функциональность консоли Bluemix и веб-интерфейса.

  4. Создал новый идентификатор приложения Facebook, используя пакет и класс в образце приложения.

  5. Настроил BlueMix Mobile Client Access (MCA) для использования моего идентификатора приложения Facebook.

  6. Обновлено приложение NodeJS server.js в соответствии с инструкциями проекта.

  7. Изменен источник приложения Android с помощью идентификатора приложения Facebook, маршрута Bluemix и руководства приложения Bluemix.

  8. Я использую эмулятор Genymotion: Samsung Galaxy Sr/Android API 18.

  9. Вот логарифм Android Studio из попытки запуска:

04-04 17:19:58.859 1276-1298/com.ibm.hellotodoadvanced E/MainActivity: Failed to authenticate against MCA: Response: {"error":"unauthorized_client","error_description":"Unknown client"}
04-04 17:19:58.859 1276-1298/com.ibm.hellotodoadvanced E/MainActivity: Failed to authenticate against MCA, unknown reason
04-04 17:19:58.863 1276-1291/com.ibm.hellotodoadvanced E/mfpsdk.AuthorizationProcessManager: AuthorizationProcessManager.handleAuthorizationFailure in AuthorizationProcessManager.java:426 :: authorization process failed

‹= Программа загружается и запускается... но авторизация не проходит с этой ошибкой!

Вопрос. Есть предложения по отладке ошибок «Не удалось пройти аутентификацию в MCA»?

В: Вы должны входить в Facebook прямо с Android?

Насколько я понимаю, «Нет» — Bluemix аутентифицирует приложение напрямую с Facebook; пользователь Android не имеет значения.

В: Требуются ли какие-либо другие «подводные камни», чтобы аутентификация MCA работала с Bluemix для Android?


person paulsm4    schedule 05.04.2016    source источник
comment
Попробуйте удалить Facebook AppID из MCA и локального кода Android и посмотрите, сработает ли это. Это поможет нам изолировать проблему.   -  person Dave Cariello    schedule 05.04.2016


Ответы (1)


Я думаю, вам нужно удалить приложение с устройства, а затем переустановить его, обычно это проблема в случае «неизвестного клиента».
Q1: я не думаю, что есть какой-то особый способ отладки потока аутентификации (только обычный отладчик Android)
Q2) да, поток таков: пользователь входит в facebook, токен затем отправляется в Сервер MCA, который проверяет его и предоставляет вам токен MCA, который позволит вам получить доступ к вашему защищенному ресурсу.
Q3) Вам нужно выполнить все инструкции по добавлению facebook в приложение для Android (если вы видите всплывающее окно facebook, я думаю, вы сделали этот процесс). вы можете перейти по этой ссылке для получения дополнительной информации.

person Asaf Manassen    schedule 05.04.2016
comment
Спасибо за помощь. Основная проблема заключалась в том, что я пробовал разные образцы без надлежащей очистки всех сред. Моя первая проблема (до этого вопроса) заключалась в том, что обработчик вызова для области не найден: wl_googleRealm. Я решил это следующим образом: а) проверил чистый пример кода, 2) создал новый проект Bluemix с 3) новой конфигурацией MCA. Я решил, что не удалось пройти аутентификацию в MCA, удалив приложение (как вы предложили). Аутентификация MCA/Facebook в образце helloTodoAdvanced теперь работает нормально. Благодарю вас! - person paulsm4; 05.04.2016