Autenticar em vários formatos

O Gerenciador de credenciais simplifica a autenticação em todo o ecossistema Android. Ele oferece uma experiência consistente para os usuários e uma superfície de API unificada para os desenvolvedores usarem chaves de acesso, senhas e mecanismos de login federados, como o Fazer login com o Google. Embora a interface de programação principal permaneça consistente em todos os formatos, cada um deles tem considerações exclusivas de interface e experiência do usuário. A implementação bem-sucedida exige a adaptação dos fluxos de autenticação do app aos métodos de entrada, tamanhos de tela e contextos de usuário específicos de cada dispositivo.

Este guia oferece uma visão geral de como implementar o Credential Manager em diferentes formatos do Android, destacando as Principais Considerações e vinculando a documentação mais detalhada.

Dispositivos móveis

Os dispositivos móveis, incluindo smartphones, tablets e dobráveis, representam o destino mais comum para o desenvolvimento do Android. A implementação padrão do Credential Manager é adequada para esses dispositivos, que normalmente apresentam telas sensíveis ao toque e teclados no dispositivo. A experiência do usuário nesse formato serve como base para a adaptação a outros. Os fluxos de autenticação precisam ser adequados ao formato e usar todos os recursos da tela e dos métodos de entrada do dispositivo.

Wear OS

Os dispositivos Wear OS são caracterizados por telas pequenas e entrada limitada no dispositivo. A implementação de chaves de acesso do Credential Manager oferece um ambiente seguro para os usuários fazerem login em apps, sem precisar de um smartphone pareado conectado e sem a necessidade de lembrar uma senha.

A API para Wear OS é idêntica à de dispositivos móveis, então você pode reutilizar uma integração móvel atual. Além de chaves de acesso, Fazer login com o Google e senhas com o Credential Manager, você pode usar outros métodos de autenticação, incluindo o compartilhamento de tokens da camada de dados, o OAuth ou suas soluções atuais. Eles podem ser usados como backups durante a transição dos usuários para o Credential Manager ou, no caso do compartilhamento de tokens da camada de dados, como uma solução de longo prazo.

O uso do Gerenciador de credenciais para Wear OS tem os seguintes requisitos:

  • Nível mínimo da API: minSdkVersion 33 ou mais recente
    • Inclui suporte a senhas, chaves de acesso e Fazer login com o Google
  • Versão do GMS: a mesma exigida para apps para dispositivos móveis

A interface do usuário em dispositivos Wear OS é a seguinte:

Tela de login com chave de acesso mostrada como o método de autenticação preferencial no Wear OS.
Figura 1a. Chaves de acesso.
Chaves de acesso, senhas e opções de Fazer Login com o Google disponíveis para um usuário no Wear OS.
Figura 1b. Chaves de acesso, senhas e Fazer login com o Google.

Para orientações detalhadas de implementação e exemplos de código, consulte os seguintes recursos:

Limitações

O uso do Credential Manager no Wear OS tem as seguintes limitações:

Android XR

Com o Android XR (que inclui realidade virtual e aumentada), os apps são renderizados no espaço 3D. A entrada do usuário é fundamentalmente diferente daquelas em outros formatos, dependendo de entradas naturais, como gestos com as mãos.

Adaptar o Gerenciador de credenciais para XR significa repensar a interface de autenticação (seja com chaves de acesso, senhas ou métodos de login federados) para um espaço 3D. Por exemplo, os prompts de autenticação aparecem em painéis flutuantes, e os usuários fazem seleções usando gestos com as mãos. Você também precisa considerar todos os pré-requisitos específicos de hardware ou software para os dispositivos XR de destino.

Um desafio de design fundamental é criar uma experiência de autenticação intuitiva e segura em um ambiente de RV ou RA. Você também precisa considerar como gerenciar a identidade em cenários de XR multiusuário, em que pessoas diferentes podem usar o mesmo dispositivo.

O uso do Gerenciador de credenciais para Android XR tem os seguintes requisitos:

  • Nível mínimo da API: minSdkVersion 34 ou mais recente
  • Versão do GMS: a mesma exigida para apps para dispositivos móveis
  • Emulador:
    • Imagem de sistema mínima do emulador:
      • macOS: imagem de sistema do Google Play XR ARM 64 v8a, revisão 7
      • Windows: imagem de sistema do Google Play XR Intel x86_64 Atom, revisão 7
    • Versões do emulador mais recentes que a 35.6.11 estável

Uma experiência de login no XR pode ser semelhante a esta:

Solicitação de login do Gerenciador de credenciais mostrada em um painel 3D flutuante no Android XR.
Figura 2. Interface do Credential Manager no XR.

Fluxos não compatíveis com XR

O Credential Manager no Android XR não oferece suporte a fluxos de autenticação que exigem que outro dispositivo leia um QR code. Isso pode ser observado durante os processos de login em headsets XR e ao testar com o emulador.

Para saber mais sobre XR, consulte Android XR.

Android TV

Os dispositivos Android TV são normalmente comunitários, visualizados à distância e navegados usando controles remotos com botão direcional. A inserção de nomes de usuário e senhas nesse ambiente pode ser difícil para os usuários. O Gerenciador de credenciais simplifica a autenticação no Android TV, oferecendo suporte a Fazer login com o Google, senhas salvas e chaves de acesso entre dispositivos. Como vários perfis do Google costumam existir em uma TV compartilhada, o Credential Manager se adapta a essa configuração comunitária buscando e mostrando todas as credenciais disponíveis no dispositivo, em vez de restringir as opções apenas à conta ativa no momento.

Solicitação de login do Gerenciador de credenciais no Android TV mostrando as contas salvas para o recurso Fazer login com o Google e senhas, além de uma opção para usar uma chave de acesso.
Figura 3. Interface do Gerenciador de credenciais no Android TV mostrando as opções Fazer login com o Google, senhas salvas e chaves de acesso.

Essa natureza comunitária também determina como as chaves de acesso são processadas. Como as televisões não têm um fator de conhecimento de tela de bloqueio (LSKF, na sigla em inglês) pessoal, as chaves de acesso não são armazenadas nem criadas diretamente na TV. Em vez disso, a autenticação por chave de acesso aproveita um fluxo híbrido entre dispositivos em que um QR code é apresentado na TV, e o usuário o lê com o dispositivo móvel para concluir a autenticação biométrica.

Um fluxo sem cliques é possível no Google TV se você definir isAutoSelectAllowed = true, mas apenas se houver exatamente uma credencial correspondente disponível. A página inferior da TV nativa ainda vai aparecer, mostrando a confirmação da conta do usuário. Se o usuário não cancelar, a credencial será retornada automaticamente sem exigir um clique remoto. Se houver várias credenciais correspondentes, ela não será selecionada automaticamente, e o usuário será solicitado a escolher.

Se os apps para dispositivos móveis e apps de TV compartilharem o mesmo nome de pacote Android e a mesma chave de assinatura, o Gerenciador de senhas do Google os reconhecerá como a mesma identidade de app. Por isso, uma senha salva em um dispositivo móvel pode ser oferecida diretamente na TV sem exigir a configuração do Digital Asset Links (asset_statements). Os Digital Asset Links só são necessários ao compartilhar credenciais entre limites, como entre um app e um site ou entre apps com nomes de pacote diferentes.

O uso do Gerenciador de credenciais para Android TV tem os seguintes requisitos:

  • Nível mínimo da API:Android 14 (nível 34 da API, minSdkVersion 34) ou mais recente
  • Versão do GMS:2026W30 ou mais recente
  • Hardware para chaves de acesso:um dispositivo móvel secundário com uma câmera e Bluetooth é necessário para ler o QR code e concluir o fluxo híbrido do FIDO

Limitações

Como o Android TV é um dispositivo comunitário, o uso do Gerenciador de credenciais nessa plataforma tem as seguintes limitações intencionais para proteger a privacidade e a segurança do usuário:

  • Nenhuma criação ou armazenamento de chaves de acesso locais:as chaves de acesso não podem ser criadas ou armazenadas diretamente na TV. Como as credenciais locais não são aceitas, não defina preferImmediatelyAvailableCredentials como true nas suas solicitações. Isso filtra as chaves de acesso entre dispositivos e não retorna credenciais.
  • Nenhum provedor de credenciais de terceiros:o Android TV não oferece suporte ao preenchimento automático, então os gerenciadores de senhas de terceiros não estão disponíveis na plataforma. Os usuários precisam usar o Gerenciador de senhas do Google.
  • Nenhuma credencial de restauração: o login automático em novos dispositivos usando Sobre as credenciais de restauração não é aceito no Android TV.

Para saber mais sobre o desenvolvimento para TV, consulte Visão geral do Android TV.

Android Automotive OS

Os dispositivos Android Automotive OS (AAOS) são sistemas comunitários integrados a veículos. Adaptar o Gerenciador de credenciais para AAOS exige suporte à autenticação segura (normalmente enquanto o veículo está estacionado) e acomodação de vários perfis de usuário em um dispositivo compartilhado.

Se você levar um app otimizado para tablets ou telas grandes para carros e ele já oferecer suporte ao Credential Manager e chaves de acesso em dispositivos móveis ou tablets, ele vai funcionar no Android Automotive OS sem exigir mudanças nos fluxos de autenticação.

A autenticação no Android Automotive OS oferece suporte aos seguintes métodos:

  • Chaves de acesso (fluxo híbrido entre dispositivos) : os usuários podem fazer a autenticação com chaves de acesso atuais usando um fluxo entre dispositivos. O sistema mostra um QR code na tela do carro que o usuário lê com o dispositivo móvel. Como a verificação biométrica e de bloqueio de tela ocorre no smartphone do usuário, não é necessário configurar um bloqueio de tela no display do carro.
  • Fazer login com o Google:mostra a tela nativa Fazer login com o Google diretamente no display do carro.
  • Senhas salvas:os usuários podem recuperar senhas salvas no Gerenciador de senhas do Google para fazer login sem inserir manualmente as credenciais na tela do veículo.
Solicitação de chave de acesso do Gerenciador de credenciais mostrada em uma tela no veículo no Android Automotive OS.
Figura 5. Prompt de chave de acesso do Gerenciador de credenciais no Android Automotive OS.

O Android Automotive OS gerencia sessões e credenciais por perfil, isolando dados de sessão específicos do usuário entre perfis (por exemplo, perfil A, perfil B ou um perfil de convidado).

O uso do Gerenciador de credenciais para Android Automotive OS tem os seguintes requisitos:

  • Nível mínimo da API:Android 9 (nível 28 da API, minSdkVersion 28) ou mais recente. A recuperação de chaves de acesso entre dispositivos exige o Android 14 (nível 34 da API) ou mais recente.
  • Versão do GMS:a mesma exigida para apps para dispositivos móveis.

Limitações de teste

Para testar chaves de acesso, é necessário um dispositivo físico que execute uma build do Android Automotive OS como a superfície principal. Para instruções de configuração, consulte Testar usando o Android Automotive OS no Pixel Tablet. Os emuladores não podem ser usados para testes de chaves de acesso porque não oferecem suporte ao Bluetooth Low Energy (BLE), que é necessário para o fluxo híbrido do FIDO.

Limitações e fluxos não aceitos

O uso do Credential Manager no Android Automotive OS tem as seguintes limitações:

  • Nenhum armazenamento ou recuperação de chaves de acesso locais:a recuperação direta de chaves de acesso locais não é aceita porque os veículos são dispositivos comunitários. A sincronização de chaves de acesso diretamente com o veículo representa um risco de segurança, então as chaves de acesso precisam ser usadas pelo fluxo híbrido entre dispositivos.
  • Credenciais disponíveis imediatamente não aceitas:se o app solicitar uma chave de acesso e definir preferImmediatelyAvailableCredentials como true, a interface automotiva será encerrada imediatamente e vai gerar uma NoCredentialException. Forneça uma experiência de usuário de fallback adequada para esse cenário.
  • Nenhum provedor de credenciais de terceiros:os gerenciadores de senhas de terceiros não são aceitos no Android Automotive OS. Os usuários precisam usar o Gerenciador de senhas do Google ou fluxos híbridos entre dispositivos para fazer a autenticação.
  • Nenhuma criação de senha armazenada:a API não oferece suporte à criação e ao salvamento de uma nova senha armazenada diretamente na interface do carro. A criação de credenciais é restrita a novas chaves de acesso usando o fluxo híbrido do FIDO.

Para saber mais sobre o desenvolvimento do Automotive OS, consulte Visão geral do Android Automotive OS.

Outros recursos