Я пытаюсь запустить пример приложения BMS для авторизации на основе GoogleBluemix: BMS-образцы-андроид-helloauthentication ошибка
https://github.com/ibm-bluemix-mobile-services/bms-samples-android-helloauthentication
Он работает на Android студии эмулятора после изменения targetSdkVersion 22 в build.gradle (у меня есть java.lang.SecurityException: Отсутствующие android.permission.GET_ACCOUNTS до изменения)
Я получил следующие ошибки на моем физическом устройстве, после нажатия кнопки «Ping Bluemix»:
02-25 12:32:49.446 30033-31086/com.ibm.helloauthentication E/mfpsdk.AuthorizationProcessManager: AuthorizationProcessManager.handleAuthorizationFailure in AuthorizationProcessManager.java:426 :: authorization process failed
02-25 12:32:49.446 30033-31096/com.ibm.helloauthentication W/System.err: at com.android.org.conscrypt.OpenSSLX509Certificate.checkValidity(OpenSSLX509Certificate.java:216)
02-25 12:32:49.446 30033-31096/com.ibm.helloauthentication W/System.err: at com.ibm.mobilefirstplatform.clientsdk.android.security.internal.certificate.CertificatesUtility.checkValidityWithPublicKey(CertificatesUtility.java:59)
02-25 12:32:49.446 30033-31096/com.ibm.helloauthentication W/System.err: at com.ibm.mobilefirstplatform.clientsdk.android.security.internal.AuthorizationProcessManager.saveCertificateFromResponse(AuthorizationProcessManager.java:214)
02-25 12:32:49.446 30033-31096/com.ibm.helloauthentication W/System.err: ... 12 more
02-25 12:32:49.451 30033-31096/com.ibm.helloauthentication E/MainActivity: Get request to Bluemix failed: THROWNjava.lang.RuntimeException: Failed to save certificate from response
02-25 12:32:49.451 30033-31096/com.ibm.helloauthentication E/MainActivity: at com.ibm.mobilefirstplatform.clientsdk.android.security.internal.AuthorizationProcessManager.saveCertificateFromResponse(AuthorizationProcessManager.java:222)
02-25 12:32:49.451 30033-31096/com.ibm.helloauthentication E/MainActivity: at com.ibm.mobilefirstplatform.clientsdk.android.security.internal.AuthorizationProcessManager.access$100(AuthorizationProcessManager.java:51)
02-25 12:32:49.451 30033-31096/com.ibm.helloauthentication E/MainActivity: at com.ibm.mobilefirstplatform.clientsdk.android.security.internal.AuthorizationProcessManager$1.handleAuthorizationSuccessResponse(AuthorizationProcessManager.java:133)
02-25 12:32:49.451 30033-31096/com.ibm.helloauthentication E/MainActivity: at com.ibm.mobilefirstplatform.clientsdk.android.security.internal.AuthorizationProcessManager$InnerAuthorizationResponseListener.onSuccess(AuthorizationProcessManager.java:469)
02-25 12:32:49.451 30033-31096/com.ibm.helloauthentication E/MainActivity: at com.ibm.mobilefirstplatform.clientsdk.android.security.internal.AuthorizationRequestAgent.processResponse(AuthorizationRequestAgent.java:388)
02-25 12:32:49.451 30033-31096/com.ibm.helloauthentication E/MainActivity: at com.ibm.mobilefirstplatform.clientsdk.android.security.internal.AuthorizationRequestAgent.processResponseWrapper(AuthorizationRequestAgent.java:542)
02-25 12:32:49.451 30033-31096/com.ibm.helloauthentication E/MainActivity: at com.ibm.mobilefirstplatform.clientsdk.android.security.internal.AuthorizationRequestAgent.onSuccess(AuthorizationRequestAgent.java:513)
02-25 12:32:49.451 30033-31096/com.ibm.helloauthentication E/MainActivity: at com.ibm.mobilefirstplatform.clientsdk.android.core.api.internal.BaseRequest$1.onResponse(BaseRequest.java:419)
02-25 12:32:49.451 30033-31096/com.ibm.helloauthentication E/MainActivity: at com.squareup.okhttp.Call$AsyncCall.execute(Call.java:170)
02-25 12:32:49.451 30033-31096/com.ibm.helloauthentication E/MainActivity: at com.squareup.okhttp.internal.NamedRunnable.run(NamedRunnable.java:33)
Любые идеи?
Невозможно воссоздать на моем конце либо физическое, либо эмулятор (см., Что проблема с SDK 23, которая была разрешена путем перехода к SDK 22). Может помочь, если вы можете запустить отладку и посмотреть, что такое ответ json, что он рушится. Похоже, у него проблемы с получением сертификата из ответа json. Используете ли вы одну учетную запись для входа на физическое устройство в качестве эмулятора? Может также помочь удалить сертификат на Bluemix и повторно добавить его. –