Нет доступных учетных данных при получении учетных данных от PasskeysAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Гость
 Нет доступных учетных данных при получении учетных данных от Passkeys

Сообщение Гость »


Я успешно создал устройство с паролем в Google и создал учетные данные (блокировку экрана), которые можно увидеть в «Диспетчере паролей» в разделе «Управление учетной записью Google».

Для создания учетных данных я использую следующий код.

val createPublicKeyCredentialResponse = CredentialManager .create(контекст) .createCredential( контекст = контекст, запрос = createPublicKeyCredentialRequest, ) И результат createPublicKeyCredentialResponse выглядит следующим образом:

{ "rawId": "", "authenticatorAttachment": "платформа", "тип": "открытый ключ", "id": "", "ответ": { "clientDataJSON": "", "attestationObject": "", "транспорт": [ "внутренний", "кабель" ] }, "clientExtensionResults": { "credProps": { «рк»: ложь } } } Однако я не могу получить учетные данные с помощью следующего кода:

val getCredentialRequest = GetCredentialRequest(requestChallengeResponse) val getCredentialResponse = CredentialManager .create(контекст) .getCredential(контекст, getCredentialRequest) И getCredentialRequest выглядит так:

{ "публичный ключ": { "rpId": "", "challenge": "", «тайм-аут»: 60000, "userVerification": "обязательно", "allowCredentials": [ { "id": "", "type": "открытый ключ" } ] } } Я улавливаю исключение GetCredentialException при вызове getCredential(context, getCredentialRequest):

androidx.credentials.Exceptions.NoCredentialException: учетные данные недоступны в androidx.credentials.CredentialProviderFrameworkImpl.convertToJetpackGetException $credentials_release(CredentialProviderFrameworkImpl.kt:276) в androidx.credentials.CredentialProviderFrameworkImpl$onGetCredential$outcome$2.onError(CredentialProviderFrameworkImpl.kt:152) в androidx.credentials.CredentialProviderFrameworkImpl$onGetCredential$outcome$2.onError(CredentialProviderFrameworkImpl.kt:143) в android.credentials.CredentialManager$GetCredentialTransport.lambda$onError$2(CredentialManager.java:694) в android.credentials.CredentialManager$GetCredentialTransport.$r8$lambda$nlbYav9mLBoE6Yh1vFKCvITF3ks (неизвестный источник: 0) в android.credentials.CredentialManager$GetCredentialTransport$$ExternalSyntheticLambda2.run (неизвестный источник:6) в androidx.credentials.CredentialManager$$ExternalSyntheticLambda0.execute (неизвестный источник: 0) в android.credentials.CredentialManager$GetCredentialTransport.onError(CredentialManager.java:693) в android.credentials.IGetCredentialCallback$Stub.onTransact(IGetCredentialCallback.java:123) в android.os.Binder.execTransactInternal(Binder.java:1344) в android.os.Binder.execTransact(Binder.java:1275) Я использовал способ, аналогичный кодовой лаборатории диспетчера учетных данных. И я также проверил запрос и ответ на вход в пример приложения. Мои запросы и ответы схожи. А пример приложения Codelab отлично работает как в эмуляторе, так и на физическом устройстве. Однако я могу успешно создать учетные данные и не могу получить учетные данные.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»