1

Google ベースの認証用にサンプル BMS アプリを実行しようとしています

https://github.com/ibm-bluemix-mobile-services/bms-samples-android-helloauthentication

build.gradle で targetSdkVersion を 22 に変更した後、Android Studio エミュレーターで実行されます (変更前に java.lang.SecurityException: Missing 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)

何か案は?

4

1 に答える 1

0

そのサンプルを更新して、正しいアクセス許可処理を使用するようにしました。これにより、プロンプトが表示されたときにアクセス許可を付与すると仮定して、SDK 23+ で実行できるはずです。

物理デバイスで特定の問題を再現することはまだできませんが、このタイプの障害については、最初に不良ヘッダーがキャッシュされていないことを確認することをお勧めします (アプリケーションをアンインストールして再インストールすることで解決されます)。 Bluemix から証明書を削除し、再度追加して、それに関連付けられているアクセス許可と許可をリセットします。

于 2016-03-10T17:13:53.600 に答える