Get your free and exclusive +45-page Authentication Analytics Whitepaper
Voltar à visão geral

Teste de gerenciadores de senhas para chaves de acesso em apps nativos

Guia completo para testar chaves de acesso em apps nativos iOS/Android com 1Password, Bitwarden e mais. Planos de teste, problemas comuns e estratégias.

Vincent Delitz
Vincent Delitz

Criado: 24 de setembro de 2025

Atualizado: 4 de julho de 2026

Teste de gerenciadores de senhas para chaves de acesso em apps nativos

Esta página foi traduzida automaticamente. Leia a versão original em inglês aqui.

WhitepaperEnterprise Icon

Whitepaper empresarial de Passkeys. Guias práticos, padrões de implementação e KPIs para programas de passkeys.

Obter whitepaper
Principais fatos
  • O iOS 17 e o Android 14 permitiram pela primeira vez que gerenciadores de senhas de terceiros atuassem como provedores de chaves de acesso em apps nativos, exigindo testes sistemáticos entre provedores.
  • Apenas 5-10% dos usuários contam com gerenciadores de senhas de terceiros, mas isso gera um número desproporcional de chamados de suporte em implantações em larga escala.
  • Os cinco alvos principais (1Password, Bitwarden, Dashlane, Proton Pass e NordPass) cobrem 85% dos usuários de gerenciadores de senhas de terceiros na UE/EUA/Reino Unido/AUS/NZ.
  • A configuração incorreta dos sinalizadores BE/BS por alguns gerenciadores de senhas de terceiros é responsável por grande parte das falhas de sincronização de chaves de acesso em produção.
  • O launchMode singleInstance no Android faz com que o Gerenciador de Credenciais abra como uma tarefa separada; mudar para singleTask evita bugs no ciclo de vida em vários OEMs.

1. Introdução: Chaves de acesso em apps nativos encontram os gerenciadores de senhas de terceiros#

Com o lançamento do iOS 17 e do Android 14, o cenário das chaves de acesso para apps móveis nativos mudou fundamentalmente. Pela primeira vez, os gerenciadores de senhas de terceiros podem atuar como provedores de chaves de acesso, quebrando o monopólio exclusivo do iCloud Keychain e do Google Password Manager. Isso permite que os usuários tragam suas próprias soluções confiáveis, como 1Password, Bitwarden ou Dashlane, para os fluxos de autenticação em apps nativos. Embora isso seja uma grande vitória para a escolha do usuário, introduz uma complexidade significativa para os desenvolvedores. Sua implementação de chaves de acesso pode se comportar de forma diferente em vários gerenciadores de senhas em aplicativos móveis nativos. Por isso, é importante para qualquer equipe testar as chaves de acesso em apps nativos e os gerenciadores de senhas de terceiros adequadamente.

Este guia abrangente compartilha nossa abordagem testada na prática para testar chaves de acesso em apps nativos com gerenciadores de senhas de terceiros. Embora o ecossistema das chaves de acesso tenha amadurecido significativamente em 2025, a implementação no mundo real ainda exige uma validação cuidadosa em diversas implementações de gerenciadores de senhas. Condensamos nossa experiência em um plano de teste prático que garante que seu app nativo funcione perfeitamente com os gerenciadores de senhas preferidos dos usuários.

PasskeysCheatsheet Icon

Cheatsheet de Passkeys. Guias práticos, padrões de implementação e KPIs para programas de passkeys.

Obter cheat sheet

2. Por que testar chaves de acesso é importante em produção#

2.1 Os usuários trazem seu próprio gerenciador de senhas#

O ecossistema de gerenciadores de senhas evoluiu além das soluções nativas da plataforma. Os usuários escolhem ativamente gerenciadores de senhas de terceiros como 1Password, Bitwarden, Dashlane, Proton Pass e NordPass com base em suas necessidades específicas, como sincronização multiplataforma, recursos corporativos ou preferências de privacidade. Seu app nativo iOS / Android deve acomodar essa diversidade sem forçar os usuários a mudar sua solução de gerenciamento de senhas confiável.

Com base em dados que medimos nas páginas do Corbado, vemos que apenas 5-10% dos usuários em geral confiam em gerenciadores de senhas de terceiros. Embora esse número possa parecer baixo, ele terá um grande impacto na percepção da sua implementação de chaves de acesso e no número de tickets de suporte se você estiver trabalhando em um ambiente de larga escala. Observamos que alguns gerenciadores de senhas implementam a especificação WebAuthn de maneira um pouco diferente, levando a variações sutis na experiência do usuário ou até mesmo a bugs.

2.2 Diferentes padrões de UX em apps nativos#

Os apps nativos iOS e Android oferecem diferentes formas de uso das chaves de acesso. No Android, você encontrará sobreposições de chaves de acesso e entradas manuais em campos de texto que acionam uma cerimônia de chave de acesso (para web apps, o Android também suporta Conditional UI). O iOS apresenta seu próprio conjunto de sobreposição de chaves de acesso juntamente com Conditional UI e também entradas manuais em campos de texto. Além disso, existem outros casos isolados a verificar. No geral, seu aplicativo nativo deve lidar graciosamente com:

  • Logins por sobreposição de chaves de acesso que aparecem imediatamente ao carregar a página
  • Logins por Conditional UI (apenas iOS) que sugerem automaticamente as chaves de acesso disponíveis
  • Logins em campos de texto onde o usuário fornece seu nome de usuário antes de clicar em um botão
  • Autenticação entre dispositivos (CDA) para uso de chave de acesso com outro dispositivo
  • Mecanismos de fallback quando o uso da chave de acesso não está disponível

2.3 Sinalizadores WebAuthn exigem precisão#

A configuração correta dos sinalizadores determina se as chaves de acesso funcionam conforme o esperado em todos os dispositivos e plataformas. Valores críticos incluem:

  • ID da Relying Party (rpID): Deve corresponder exatamente nas implementações web e nativas e é o domínio ao qual a chave de acesso está vinculada
  • Verificação do usuário: Determina que o usuário precisa fornecer sua autenticação local
  • Chave residente/credenciais descobríveis: Permite autenticação sem nome de usuário (permite Conditional UI)
  • Elegibilidade de backup (BE) e estado de backup (BS): Permite a sincronização de chaves de acesso entre dispositivos

Sinalizadores mal configurados nem sempre causam falhas imediatas. No entanto, podem criar problemas sutis e inconsistências, como chaves de acesso estarem disponíveis em um dispositivo, mas não sincronizadas entre dispositivos (mesmo que o mesmo gerenciador de senhas de terceiros possa estar disponível em ambos). Uma das nossas descobertas nos testes foi que alguns gerenciadores de senhas de terceiros configuram os sinalizadores BE/BS incorretamente, sendo responsáveis por grande parte dos problemas com chaves de acesso.

2.4 Gerenciamento do ciclo de vida em apps de instância única (Single-Instance)#

Arquiteturas de atividade única (Android) e cena única (iOS) exigem um gerenciamento meticuloso do ciclo de vida. Quando a aba de um gerenciador de senhas aparece e é descartada, seu app deve preservar o estado, lidar com callbacks e retomar corretamente. Isso é especialmente crítico no Android, onde a configuração launchMode pode causar comportamentos inesperados.

Por exemplo, descobrimos que definir a MainActivity como launchMode="singleInstance" criava problemas. Em algumas versões do Android e personalizações de OEMs, esse modo faz com que a interface do Gerenciador de Credenciais de Chave de Acesso abra como uma tarefa separada. Isso não apenas adiciona uma entrada de aplicativo confusa e adicional à tela "Recentes", mas também pode fazer o app travar se for colocado em segundo plano enquanto a caixa de diálogo da chave de acesso estiver aberta.

A correção recomendada é mudar a configuração para launchMode="singleTask". Isso impede que o Gerenciador de Credenciais inicie uma tarefa separada, garantindo um ciclo de vida mais previsível em diferentes OEMs (Samsung, Google, Vivo, etc.) e reduzindo o risco de bugs específicos de fornecedores. Ele fornece uma base mais estável para testar navegação, sobreposições e deeplinks.

Observamos que tais problemas no ciclo de vida frequentemente se disfarçam de "bugs do gerenciador de senhas", quando na verdade são problemas a nível de aplicativo. Uma instrumentação adequada e testes em diferentes provedores ajudam a identificar esses padrões precocemente.

3. Configurando seu ambiente de teste#

3.1 Gerenciadores de senhas alvo#

Concentre seus testes de chaves de acesso em apps nativos nos gerenciadores de senhas de terceiros mais adotados:

Alvos principais (cobertura essencial):

Alvos secundários (com base em sua base de usuários):

  • Provedores regionais (por exemplo, Samsung Pass para dispositivos Samsung)
  • Soluções corporativas, se o foco for em usuários empresariais
  • Padrões da plataforma (Google Password Manager, iCloud Keychain) como base

Evite a tentação de testar todos os gerenciadores de senhas disponíveis. Concentre-se em provedores que representam 90% da sua base de usuários. Nossa análise mostrou que os cinco alvos principais cobriam 85% dos usuários de gerenciadores de senhas de terceiros na UE/EUA/Reino Unido/AUS/NZ.

3.2 Lista de verificação pré-voo#

Antes de iniciar cada execução de teste, garanta um ambiente limpo e reproduzível:

1. Limpe o estado das credenciais:

  • Remova todas as credenciais existentes para o seu RP ID
  • Limpe os caches do navegador e do app
  • Desconecte-se totalmente e faça login novamente no gerenciador de senhas
  • Force o encerramento e reinicie o app de destino

2. Estabilize o ambiente de teste:

  • Garanta uma conectividade de rede estável (sem VPNs durante os testes)
  • Desative as animações da interface se for automatizar os testes
  • Use a orientação consistente do dispositivo
  • Documente a versão do sistema operacional, versão do app e versão do gerenciador de senhas

4. O plano de teste abrangente#

Cada teste valida aspectos específicos da funcionalidade da chave de acesso. Documente os resultados sistematicamente usando o status de aprovação/falha e notas detalhadas para quaisquer anomalias.

4.1 Testes essenciais do fluxo de autenticação#

Teste 1: Abortar a criação de chave de acesso (após login convencional bem-sucedido)#

Validar tratamento de cancelamento normal

✓ A aba do gerenciador de senhas abre corretamente
✓ O usuário cancela sem criar uma chave de acesso
✓ O app retorna à tela de login ✓ Sem credenciais órfãs no gerenciador de senhas
✓ A interface exibe as opções de nova tentativa adequadas

Teste 2: Criar chave de acesso (após login convencional bem-sucedido)#

Verificar a criação da chave de acesso após o fluxo de autenticação

✓ A autenticação local inicia com confiabilidade
✓ A autenticação biométrica é concluída com sucesso
✓ Credencial criada com RP ID correto
✓ O app transita para o estado autenticado sem loops

Teste 3: Autenticar com chave de acesso existente#

Testar cenários de autenticação padrão

✓ A interface de sobreposição da chave de acesso aparece ou o usuário fornece o nome de usuário no cenário de campo de texto ✓ A verificação biométrica e a solicitação biométrica única levam a uma autenticação bem-sucedida
✓ Sem loops de seleção ou reaparecimento da aba
✓ A sessão permanece estável após a autenticação

Teste 4: Criar chave de acesso em Configurações#

Validar o gerenciamento de chaves de acesso no app

✓ RP ID correto, descobribilidade e sinalizadores BE/BS
✓ O app permanece autenticado após a criação
✓ O gerenciador de senhas atualiza imediatamente com os rótulos corretos

Teste 5: Excluir chave de acesso e tentar novo login#

Testar o gerenciamento do ciclo de vida da credencial

✓ Excluir a chave de acesso nas configurações ✓ Não é possível fazer login com a chave de acesso
✓ Opção de fallback adequada é oferecida

4.2 Testes de compatibilidade multiplataforma#

Teste 6: Usar chave de acesso criada nativamente na Web (mesmo dispositivo)#

Validar a portabilidade do app para a web

✓ O navegador reconhece as chaves de acesso criadas no app
✓ A aba de seleção mostra a associação correta do RP
✓ A autenticação é concluída sem o desvio QR/CDA

Teste 7: Usar chave de acesso criada na Web no app nativo#

Testar compartilhamento de credenciais da web para o app

✓ O app exibe a credencial criada na web na seleção
✓ A autenticação de primeira tentativa é bem-sucedida
✓ Sem fallback forçado de senha

Teste 8: Sincronização entre dispositivos (celular para desktop)#

Verificar sincronização de chave de acesso do app nativo para navegador desktop

✓ A chave de acesso criada no app é sincronizada com o gerenciador de senhas desktop ✓ A chave de acesso sincronizada funciona perfeitamente no navegador desktop ✓ Nenhum código QR / fluxo entre dispositivos é acionado ✓ A autenticação é concluída sem loops ou erros

Teste 9: Sincronização entre dispositivos (desktop para celular)#

Verificar sincronização de chave de acesso do navegador desktop para app nativo

✓ A chave de acesso criada no desktop é sincronizada com o gerenciador de senhas do celular ✓ O app nativo exibe corretamente a chave de acesso sincronizada ✓ A autenticação é bem-sucedida sem fallback de senha ✓ Logs vinculam a asserção ao ID da credencial correto

Teste 10: Celular como autenticador para a Web#

Validar cenários de telefone como chave de segurança

✓ O telefone oferece credencial criada no app para CDA web
✓ Sem falsos erros "nenhuma chave de acesso disponível"
✓ A sessão web é concluída após biometria no celular

5. Problemas comuns e estratégias de mitigação#

Nossos testes extensivos revelaram vários padrões recorrentes que afetam a integração de chaves de acesso com gerenciadores de senhas de terceiros:

Atrasos na sincronização entre dispositivos#

Problema: Credenciais criadas em um dispositivo podem não aparecer imediatamente em outros.

Solução: Implemente lógica de repetição com recuo exponencial. Ofereça opções de atualização manual para usuários que enfrentam atrasos de sincronização.

Comportamentos específicos da versão#

Problema: O comportamento do gerenciador de senhas varia significativamente entre as versões do sistema operacional, especialmente no Android 14+ e iOS 17+.

Solução: Mantenha uma matriz de compatibilidade e ajuste os fluxos com base na versão do sistema operacional detectada. Considere requisitos mínimos de versão para obter a melhor experiência.

6. Conclusão: Construindo suporte a chaves de acesso pronto para produção#

A implementação bem-sucedida do suporte a chaves de acesso por gerenciadores de senhas de terceiros em apps nativos exige testes metódicos e atenção aos detalhes. Nosso plano de teste abrangente, refinado através de testes no mundo real, fornece uma base sólida para validar a integração das suas chaves de acesso.

Principais conclusões para implantação em produção:

  1. Teste de forma sistemática: Use nosso plano de teste como base, adaptando-o para seus casos de uso específicos
  2. Respeite a escolha do usuário: Dê suporte aos gerenciadores de senhas que seus usuários preferem, não apenas aos padrões da plataforma
  3. Monitore continuamente: Implemente logs abrangentes para capturar casos extremos em produção
  4. Documente minuciosamente: Mantenha registros claros de comportamentos e soluções alternativas específicos dos provedores

O ecossistema de chaves de acesso continua a evoluir rapidamente. Gerenciadores de senhas atualizam regularmente suas implementações, sistemas operacionais introduzem novos recursos e a própria especificação WebAuthn avança. Estabelecendo agora uma estrutura de teste robusta, você estará preparado para se adaptar conforme a tecnologia amadurece.

Continuaremos atualizando nossos SDKs e metodologia de testes à medida que surgirem novos padrões. O investimento em testes abrangentes com gerenciadores de senhas de terceiros compensa através da redução da carga de suporte e da melhoria na satisfação do usuário. Afinal de contas, a autenticação simplesmente deve funcionar - independentemente de qual gerenciador de senhas seus usuários escolham.

Corbado

Sobre a Corbado

Corbado é a Authentication Intelligence Platform para times de CIAM que rodam autenticação consumer em escala. Mostramos o que logs de IDP e ferramentas genéricas de analytics não enxergam: quais dispositivos, versões de SO, navegadores e gerenciadores de credenciais suportam passkeys, por que os registros não viram logins, onde o fluxo WebAuthn falha e quando uma atualização de SO ou navegador quebra silenciosamente o login — tudo sem substituir Okta, Auth0, Ping, Cognito ou seu IDP interno. Dois produtos: Corbado Observe adiciona observabilidade para passkeys e qualquer outro método de login. Corbado Connect entrega passkeys gerenciados com analytics integrado (junto ao seu IDP). VicRoads roda passkeys para mais de 5M de usuários com Corbado (+80% de ativação de passkey). Fale com um especialista em Passkeys

Perguntas frequentes#

Quais gerenciadores de senhas de terceiros devo priorizar ao testar chaves de acesso em apps nativos?#

Priorize 1Password, Bitwarden, Dashlane, Proton Pass e NordPass como alvos principais. Esses cinco provedores cobrem 85% dos usuários de gerenciadores de senhas de terceiros nos mercados da UE/EUA/Reino Unido/AUS/NZ, oferecendo ampla cobertura sem investimento excessivo em provedores de nicho.

Por que as chaves de acesso criadas em um app nativo falham ao sincronizar entre dispositivos ao usar um gerenciador de senhas de terceiros?#

A configuração incorreta dos sinalizadores de elegibilidade de backup (BE) e estado de backup (BS) é uma das principais causas de falhas de sincronização entre dispositivos. Alguns gerenciadores de senhas de terceiros configuram esses sinalizadores incorretamente, fazendo com que uma chave de acesso exista em um dispositivo, mas não sincronize com outros, mesmo quando o mesmo gerenciador de senhas está instalado em ambos.

Como corrijo os bugs da interface do Gerenciador de Credenciais do Android que aparecem como tarefas separadas na tela de Recentes?#

Definir a MainActivity com launchMode singleInstance faz com que a interface do Gerenciador de Credenciais apareça como uma tarefa separada, criando uma entrada confusa nos Recentes e podendo travar o app quando colocado em segundo plano. Mudar a configuração para launchMode singleTask resolve isso em vários OEMs, incluindo Samsung, Google e Vivo.

Quais fluxos de autenticação devo testar ao validar o suporte a gerenciadores de senhas de terceiros em um app nativo iOS ou Android?#

Um plano de teste abrangente cobre 10 cenários: criação de chave de acesso e cancelamento normal, autenticação por sobreposição e campo de texto, gerenciamento de credenciais no app, exclusão de credenciais com fallback e sincronização bidirecional entre dispositivos. Os testes multiplataforma também devem confirmar que as chaves de acesso criadas no app autenticam em um navegador e as criadas na web autenticam no app nativo.

Veja o que realmente acontece na sua implementação de passkeys.

Explorar a Console

Compartilhar este artigo


LinkedInTwitterFacebook