Ошибка в методе CredentialManager.createCredential без большого количества информации ⇐ Android
-
Anonymous
Ошибка в методе CredentialManager.createCredential без большого количества информации
Я получаю сообщение об ошибке при вызове CredentialManager.createCredential в сценарии, где я использую ключи доступа. Я получаю исключение типа CreateCredentialCustomException с сообщением Внутренняя ошибка. Вот и все. Я получаю всплывающее окно с ключом доступа правильно, и как только я нажимаю «Продолжить», я получаю эту ошибку.
Вот мой код вызова (я почти следовал образцу).
val request = CreatePublicKeyCredentialRequest( requestJson = options.toCredentialCreateOptionsJson(), isAutoSelectAllowed = ложь, ) val ответ: CreatePublicKeyCredentialResponse? пытаться { ответ = credentialManager.createCredential( контекст, запросить как CreateCredentialRequest ) как CreatePublicKeyCredentialResponse } catch (e: CreateCredentialException) { бросить е } catch (e: CreateCredentialCustomException) { бросить е } обратный ответ И вот запрос JSON, возвращенный с сервера
{"rp":{"id":"connect.trinsic.cloud","name":"Trinsic Wallet","icon":"https://cdn.trinsic.id/assets/ Dashboard/Illustrations/provider.png"},"user":{"name":"+16466750073","id":"dXJuOnBhc3NrZXk6aWR2OnpGMzg0bU1aZ3pmTTZaTGoxclpxU3RU","displayName":"+16466750073"},"challenge":"MWLAzy4rz sHLzL7ir0Q9zA", "pubKeyCredParams":[{"type":"public-key","alg":-8},{"type":"public-key","alg":-7},{"type":"public -key","alg":-257},{"type":"открытый ключ","alg":-37},{"type":"открытый ключ","alg":-35}, {"type":"открытый ключ","alg":-258},{"type":"открытый ключ","alg":-38},{"type":"открытый ключ"," alg":-36},{"type":"открытый ключ","alg":-259},{"type":"открытый ключ","alg":-39}],"timeout": 60000,"attestation":"direct","authenticatorSelection":{"authenticatorAttachment":"platform","residentKey":"discouraged","requireResidentKey":false,"userVerification":"required"},"excludeCredentials": []} Трассировка стека не очень полезна
androidx.credentials.Exceptions.CreateCredentialCustomException: Внутренняя ошибка. в androidx.credentials.CredentialProviderFrameworkImpl.convertToJetpackCreateException $credentials_release(CredentialProviderFrameworkImpl.kt:317) в androidx.credentials.CredentialProviderFrameworkImpl$onCreateCredential$outcome$1.onError(CredentialProviderFrameworkImpl.kt:201) в androidx.credentials.CredentialProviderFrameworkImpl$onCreateCredential$outcome$1.onError(CredentialProviderFrameworkImpl.kt:187) в android.credentials.CredentialManager$CreateCredentialTransport.lambda$onError$2(CredentialManager.java:752) в android.credentials.CredentialManager$CreateCredentialTransport.$r8$lambda$8NwBIrbcK6SvF9Mra_qL_8hhFMU (неизвестный источник: 0) в android.credentials.CredentialManager$CreateCredentialTransport$$ExternalSyntheticLambda0.run (неизвестный источник:6) в androidx.credentials.CredentialManager$$ExternalSyntheticLambda0.execute (неизвестный источник: 0) в android.credentials.CredentialManager$CreateCredentialTransport.onError(CredentialManager.java:751) в android.credentials.ICreateCredentialCallback$Stub.onTransact(ICreateCredentialCallback.java:123) в android.os.Binder.execTransactInternal(Binder.java:1337) в android.os.Binder.execTransact(Binder.java:1278) У меня правильно настроены ссылки на ресурсы на подключающемся сервере, и я использую сборку подписи с правильными ключами.
Как мне продолжить расследование?
Я получаю сообщение об ошибке при вызове CredentialManager.createCredential в сценарии, где я использую ключи доступа. Я получаю исключение типа CreateCredentialCustomException с сообщением Внутренняя ошибка. Вот и все. Я получаю всплывающее окно с ключом доступа правильно, и как только я нажимаю «Продолжить», я получаю эту ошибку.
Вот мой код вызова (я почти следовал образцу).
val request = CreatePublicKeyCredentialRequest( requestJson = options.toCredentialCreateOptionsJson(), isAutoSelectAllowed = ложь, ) val ответ: CreatePublicKeyCredentialResponse? пытаться { ответ = credentialManager.createCredential( контекст, запросить как CreateCredentialRequest ) как CreatePublicKeyCredentialResponse } catch (e: CreateCredentialException) { бросить е } catch (e: CreateCredentialCustomException) { бросить е } обратный ответ И вот запрос JSON, возвращенный с сервера
{"rp":{"id":"connect.trinsic.cloud","name":"Trinsic Wallet","icon":"https://cdn.trinsic.id/assets/ Dashboard/Illustrations/provider.png"},"user":{"name":"+16466750073","id":"dXJuOnBhc3NrZXk6aWR2OnpGMzg0bU1aZ3pmTTZaTGoxclpxU3RU","displayName":"+16466750073"},"challenge":"MWLAzy4rz sHLzL7ir0Q9zA", "pubKeyCredParams":[{"type":"public-key","alg":-8},{"type":"public-key","alg":-7},{"type":"public -key","alg":-257},{"type":"открытый ключ","alg":-37},{"type":"открытый ключ","alg":-35}, {"type":"открытый ключ","alg":-258},{"type":"открытый ключ","alg":-38},{"type":"открытый ключ"," alg":-36},{"type":"открытый ключ","alg":-259},{"type":"открытый ключ","alg":-39}],"timeout": 60000,"attestation":"direct","authenticatorSelection":{"authenticatorAttachment":"platform","residentKey":"discouraged","requireResidentKey":false,"userVerification":"required"},"excludeCredentials": []} Трассировка стека не очень полезна
androidx.credentials.Exceptions.CreateCredentialCustomException: Внутренняя ошибка. в androidx.credentials.CredentialProviderFrameworkImpl.convertToJetpackCreateException $credentials_release(CredentialProviderFrameworkImpl.kt:317) в androidx.credentials.CredentialProviderFrameworkImpl$onCreateCredential$outcome$1.onError(CredentialProviderFrameworkImpl.kt:201) в androidx.credentials.CredentialProviderFrameworkImpl$onCreateCredential$outcome$1.onError(CredentialProviderFrameworkImpl.kt:187) в android.credentials.CredentialManager$CreateCredentialTransport.lambda$onError$2(CredentialManager.java:752) в android.credentials.CredentialManager$CreateCredentialTransport.$r8$lambda$8NwBIrbcK6SvF9Mra_qL_8hhFMU (неизвестный источник: 0) в android.credentials.CredentialManager$CreateCredentialTransport$$ExternalSyntheticLambda0.run (неизвестный источник:6) в androidx.credentials.CredentialManager$$ExternalSyntheticLambda0.execute (неизвестный источник: 0) в android.credentials.CredentialManager$CreateCredentialTransport.onError(CredentialManager.java:751) в android.credentials.ICreateCredentialCallback$Stub.onTransact(ICreateCredentialCallback.java:123) в android.os.Binder.execTransactInternal(Binder.java:1337) в android.os.Binder.execTransact(Binder.java:1278) У меня правильно настроены ссылки на ресурсы на подключающемся сервере, и я использую сборку подписи с правильными ключами.
Как мне продолжить расследование?
Мобильная версия