Resolver erros comuns do Gerenciador de credenciais

Este guia lista códigos e descrições de erros comuns relacionados ao Credential Manager e fornece algumas informações sobre as causas.

Código do erro e descrição Causa

android.os.TransactionTooLargeException

Isso é causado por um problema conhecido em que a API credentialManager.getCredential() no Android 14 e em versões mais recentes não mostra a caixa de diálogo de login quando há várias Contas do Google no dispositivo. Esse problema ocorre especificamente com GetGoogleIdOption e não com GetSignInWithGoogleOption. Esse problema foi corrigido na versão 24.40.XX e mais recentes do Google Play Services.

CreateCredentialCancellationException

O registro ou a recuperação da chave de acesso foi cancelada pelo usuário.

O usuário optou por não criar nem usar uma credencial. Agora você pode ajustar sua interface para oferecer um método de login alternativo ou passar para as próximas etapas do processo.

GetCredentialCancellationException

O processo de recuperação de credenciais foi encerrado porque a autorização necessária do usuário não foi obtida. Embora isso ocorra com mais frequência quando um usuário cancela manualmente o fluxo de login, também pode indicar que a solicitação não foi autorizada devido a restrições técnicas. Como esse erro indica falta de consentimento, não tente fazer a solicitação de novo automaticamente, porque isso cria uma experiência de usuário ruim. No entanto, os desenvolvedores precisam monitorar a frequência dessa exceção. Um grande volume de "cancelamentos" pode indicar uma configuração incorreta, como um escopo ausente ou incorreto, que impede a conclusão da interface de autorização. Se você notar tendências inesperadas, revise os parâmetros da solicitação e a configuração da [parte confiante][2].

Observação: a mensagem de erro pode variar de acordo com o tipo de credencial:

  • Para chaves de acesso, a mensagem de erro pode ser "O registro ou a recuperação da chave de acesso foi cancelado pelo usuário".
  • Para o recurso Fazer login com o Google, a mensagem de erro pode ser "A atividade foi cancelada pelo usuário".

CreateCredentialCustomException ou GetCredentialCustomException

Ao usar um SDK de terceiros para fazer chamadas de API com um objeto de solicitação que cria subclasses de CreateCustomCredentialRequest ou GetCustomCredentialOption, você pode encontrar erros. Se isso acontecer, verifique o SDK para constantes de tipo de exceção personalizadas que correspondam a e.type. Se nenhuma correspondência for encontrada, será seguro descartar ou registrar a exceção.

CreateCredentialInterruptedException ou GetCredentialInterruptedException

A operação pode ter sido interrompida porque o usuário acessou as configurações para reconfigurar os gerenciadores de senhas. Outros motivos também podem ter contribuído para a interrupção. Tente ligar de novo.

CreateCredentialUnknownException

Durante o salvamento de senha, foi encontrada uma resposta de falha de senha de um toque 16: [28431] Ignorando o salvamento de senhas, já que o usuário provavelmente receberá uma solicitação de preenchimento automático do Android.

Esse erro afeta apenas o Android 13 e versões anteriores quando o Google é o provedor de preenchimento automático designado. Nesses casos, os usuários vão receber uma solicitação de salvamento do preenchimento automático, e a senha será armazenada no Gerenciador de senhas do Google. As credenciais salvas usando o Preenchimento automático do Google são sincronizadas bidirecionalmente com a API Credential Manager. Portanto, esse erro pode ser ignorado com segurança.

CreatePublicKeyCredentialDomException e GetPublicKeyCredentialDomException

É provável que a exceção do DOM contenha um domError mais específico. Você pode mapeá-lo para um DomException do WebAuthn para mais detalhes.

CreatePublicKeyCredentialDomException e GetPublicKeyCredentialDomException

Não é possível validar a solicitação recebida.

O servidor do gerenciador de senhas não reconhece o ID do pacote do app. Isso indica um possível problema com a integração do lado do servidor, especificamente a configuração de links de recursos digitais. Confira a precisão do ID do pacote e do SHA no arquivo de link de recurso.

CreatePublicKeyCredentialDomException:

Não foi possível criar a chave durante o registro

Esse problema pode ocorrer quando um usuário dispensa a caixa de diálogo de bloqueio de tela durante o registro.

CreateCredentialNoCreateOptionException

Essa exceção específica indica que o usuário não tem um gerenciador de senhas válido configurado. Esse erro não é um fluxo manual de cancelamento iniciado pelo usuário, mas sim uma falha separada.

CreatePublicKeyDomException e GetPublicKeyCredentialDomException

O registro da chave de acesso foi cancelado pelo usuário.

O acesso à chave de acesso foi cancelado pelo usuário.

Esse problema pode surgir quando um usuário dispensa a caixa de diálogo de impressão digital durante o registro ou a recuperação de uma chave de acesso.

GetCredentialProviderConfigurationException e CreateCredentialProviderConfigurationException

getCredentialAsync: nenhuma dependência de provedor encontrada

createCredentialAsync: nenhuma dependência de provedor encontrada

A dependência androidx.credentials:credentials-play-services-auth:<latest-version> está ausente.

GetCredentialUnsupportedException ou CreateCredentialUnsupportedException

Seu dispositivo não é compatível com o gerenciador de credenciais

Verifique se a biblioteca de credenciais está atualizada para a versão 1.2.1 ou mais recente.

GetPublicKeyCredentialException

Falha ao descriptografar a credencial

Esse problema ocorre ao tentar usar uma chave de acesso depois de sair e fazer login de novo nas Contas do Google. Peça para o usuário fazer login de novo na Conta do Google no dispositivo.

NoCreateOptionException

Essa exceção é um comportamento esperado quando um usuário não tem credenciais de chave de acesso configuradas no dispositivo ou quando não tem um gerenciador de senhas configurado.

NoCredentialException

Nenhuma credencial correspondente encontrada

Essa exceção é causada nas seguintes situações:

  • setFilterByAuthorizedAccounts é definido como "true" sem contas autorizadas no dispositivo.
  • Não há contas conectadas no dispositivo (nenhuma conta foi adicionada ou as contas precisam de autenticação novamente).
  • A interface do usuário do painel inferior não aparece se os pedidos de login estiverem desativados para qualquer conta no dispositivo. Essa configuração global, encontrada em Configurações da Conta do Google > Fazer login com o Google, precisa estar ativada para que a interface da página inferior seja mostrada em qualquer conta. Isso não afeta o fluxo do botão.

Não é possível criar uma chave de acesso porque os dados criptografados estão bloqueados

O usuário precisa redefinir os dados do lado do servidor do Chrome. Esses dados incluem favoritos e configurações do Chrome, além das senhas e chaves de acesso salvas. Para saber mais sobre os dados que o Chrome armazena, acesse a página Dados do Chrome na sua conta.

  1. Acesse chrome.google.com/sync.
  2. Na parte de baixo, selecione Remover dados.
  3. No dispositivo, ative a sincronização no Chrome.

On Begin Sign In Failure: 8: erro interno desconhecido.

O dispositivo não está configurado corretamente com a Conta do Google. Pode haver um problema com a forma como o JSON da chave de acesso está sendo criado. Verifique a implementação para garantir a precisão.

Não foi possível acessar a conta de sincronização

O Google Play Services versão 24.40.XX e mais recentes vão fornecer códigos de erro mais informativos. Por exemplo, em vez de "Não foi possível receber a conta de sincronização", os chamadores agora vão receber uma mensagem de erro de cancelamento.