Pular para o conteúdo principal

Passkey

Habilitando o Passkey

O Passkey é habilitado pelo SDK Portal. Nenhuma alteração é necessária na integração Android — a ativação é gerenciada inteiramente pelo lado da plataforma.

observação

O Passkey está disponível atualmente apenas para Android. O SDK iOS não suporta esse recurso.

Base técnica: Digital Asset Links (DAL)

O Passkey no Android utiliza o protocolo Digital Asset Links para estabelecer uma associação verificável e segura entre o aplicativo nativo do cliente e o domínio web da Unico. Esse vínculo é obrigatório pelo design do sistema operacional Android para autenticação com passkeys em aplicativos Google para dispositivos móveis.

Como funciona a verificação de segurança

Antes de gerar um par de chaves para um passkey, o autenticador Android verifica o Relying Party ID (RP ID) presente na resposta do servidor em relação ao nome de domínio especificado no arquivo Digital Asset Links. Sem essa verificação bem-sucedida, o Passkey simplesmente não funcionará.

O que é SHA-256 e por que é necessário?

A impressão digital SHA-256 é um hash único gerado a partir do certificado de assinatura do aplicativo, utilizado para identificar a autenticidade e a integridade do app.

Esse certificado corresponde à chave utilizada para assinar o APK/AAB antes da distribuição na Google Play Store. É necessário registrar essa impressão digital no arquivo assetlinks.json hospedado pela Unico no caminho /.well-known/assetlinks.json. Esse arquivo é gerenciado integralmente pela Unico e só pode ser atualizado mediante abertura de um ticket de suporte.

Estrutura do arquivo assetlinks.json

O arquivo deve incluir duas permissões específicas:

  • delegate_permission/common.handle_all_urls — para Android App Links
  • delegate_permission/common.get_login_creds — para compartilhamento de credenciais entre o site e o app Android

…junto com o nome do pacote e a impressão digital SHA-256 do cliente.

observação

O SHA-256 deve ser registrado em dois lugares: o arquivo público assetlinks.json e a configuração do servidor (origem esperada). Registre as impressões digitais para cada configuração de assinatura em uso — debug, release e quaisquer product flavors — pois cada uma produz uma impressão digital diferente.

Como obter o SHA-256

É possível extrair a impressão digital SHA-256 utilizando a ferramenta keytool do Java Development Kit (JDK), ou encontrá-la diretamente no Google Play Console na seção Assinatura do app em Configuração > Integridade do app.

keytool -list -v -keystore <your-keystore.jks> -alias <key-alias>
Resumo dos pré-requisitos

Antes que qualquer operação com passkey possa ser concluída com sucesso, os seguintes itens devem estar configurados:

  • Nome do pacote do app e impressão digital SHA-256 registrados no arquivo assetlinks.json da Unico (abra um ticket de suporte para registrar ou atualizar as impressões digitais)
  • Impressão digital SHA-256 do app registrada na configuração do servidor (origem esperada)
  • Impressões digitais registradas para cada configuração de assinatura em uso (debug, release, product flavors)
Referências