IBM MobileFirst 8 — Код ошибки push-уведомления: invalid_client

Я получаю следующую ошибку при регистрации устройства для push-уведомлений в Android:

Не удалось зарегистрировать устройство: "com.ibm.mobilefirstplatform.clientsdk.android.push.api.MFPPushException: ответ: статус = 400, текст: {\"errorCode\":\"invalid_client\",\"errorMsg\":\ "Неверный формат JWT\"}, Сообщение об ошибке: Неверный формат JWT"

  • Сервер МФУ: 8.0.0.00-20170220-1900
  • Кордова: 6.1.1
  • кордова-плагин-mfp: 8.0.201703309
  • кордова-плагин-mfp-push: 8.0.2017012410

Нашел аналогичный вопрос, но нет четкой фигуры:

IBM MobileFirst v8 пытается получить Токен в приложении Android Cordova после успешного обработчика входа в систему

Android-приложение Cordova получает invalid_client от Mobile First сервер 8.0

Любое решение или предложение будут оценены.


person Gaurab Kumar    schedule 21.04.2017    source источник


Ответы (3)


Похоже, вы пропустили шаг на платформе Android. В Android Studio добавьте следующую активность в тег приложения:

<activity android:name="com.ibm.mobilefirstplatform.clientsdk.android.push.api.MFPPushNotificationHandler" android:theme="@android:style/Theme.NoDisplay"/>
person Raghavendra Rao    schedule 21.04.2017

Наиболее распространенной причиной проблемы является сбой синхронизации времени между клиентом и сервером. Проверьте, смещено ли время сервера от времени клиента. В частности, если сервер имеет время в прошлом.

person Vivin K    schedule 22.04.2017
comment
как решить эту проблему, если мой сервер и клиент находятся в разных часовых поясах? - person Gaurab Kumar; 22.04.2017
comment
Кроме того, когда я добавляю область безопасности push.mobileclient, сохранение занимает слишком много времени. - person Gaurab Kumar; 22.04.2017
comment
Дело не в часовом поясе. Синхронизация - это количество секунд с 1970 года. Следите за тем, чтобы на сервере не было установлено время в далеком прошлом. Если вы все еще видите проблему, откройте PMR - person Vivin K; 22.04.2017
comment
Ваша линия.. Следите за тем, чтобы на сервере не было установлено время в далеком прошлом... Что это значит?? Как проверить время сервера? - person Gaurab Kumar; 22.04.2017

У меня была такая же проблема, мне помогла перезагрузка клиентского устройства/эмулятора.

(Проверка времени сервера для меня нецелесообразна, мой сервер работает как служба Bluemix в США)

Кстати: я могу воспроизвести этот «Неправильный формат JWT» в эмуляторе Android: если эмулятор Android работает всю ночь, и я пытаюсь на следующий день, я всегда получаю эту ошибку (до перезапуска эмулятора)

person mhoff    schedule 18.05.2017