iOS Universal Links
Introdução
Os links universais oferecem uma experiência de redirecionamento perfeita aos usuários, abrindo diretamente o conteúdo no aplicativo, evitando a necessidade de redirecionamento pelo Safari. Esses links são únicos e seguros, pois não podem ser reivindicados por outros aplicativos. Isso é garantido hospedando um arquivo JSON apple-app-site-association
no diretório raiz do site, estabelecendo um link verificável entre o site e o aplicativo. Nos casos em que o aplicativo não está instalado, o Safari assume e direciona o usuário para a página da web, mantendo a presença do aplicativo.
Para testadores de penetração, o arquivo apple-app-site-association
é de particular interesse, pois pode revelar caminhos sensíveis, potencialmente incluindo aqueles relacionados a recursos não lançados.
Analisando a Concessão de Domínios Associados
Os desenvolvedores habilitam os Links Universais configurando os Domínios Associados na guia de Capacidades do Xcode ou inspecionando o arquivo .entitlements
. Cada domínio é prefixado com applinks:
. Por exemplo, a configuração do Telegram pode aparecer da seguinte forma:
Para obter insights mais abrangentes, consulte a Documentação Arquivada para Desenvolvedores da Apple.
Se estiver trabalhando com um aplicativo compilado, os direitos podem ser extraídos conforme descrito neste guia.
Recuperando o Arquivo de Associação do Site do Aplicativo Apple
O arquivo apple-app-site-association
deve ser recuperado do servidor usando os domínios especificados nos direitos. Certifique-se de que o arquivo seja acessível via HTTPS diretamente em https://<domínio>/apple-app-site-association
. Ferramentas como o Validador de Associação de Site de Aplicativo Apple (AASA) da Apple podem auxiliar nesse processo.
Manipulando Links Universais no Aplicativo
O aplicativo deve implementar métodos específicos para lidar corretamente com links universais. O método principal a ser procurado é application:continueUserActivity:restorationHandler:
. É crucial que o esquema de URLs manipulados seja HTTP ou HTTPS, pois outros não serão suportados.
Validando o Método do Manipulador de Dados
Quando um link universal abre um aplicativo, um objeto NSUserActivity
é passado para o aplicativo com o URL. Antes de processar este URL, é essencial validá-lo e sanitizá-lo para evitar riscos de segurança. Aqui está um exemplo em Swift que demonstra o processo:
URLs devem ser cuidadosamente analisados e validados, especialmente se incluírem parâmetros, para se proteger contra possíveis falsificações ou dados malformados. A API NSURLComponents
é útil para esse fim, como demonstrado abaixo:
Através de configuração e validação diligentes, os desenvolvedores podem garantir que os links universais aprimorem a experiência do usuário, mantendo os padrões de segurança e privacidade.
Referências
Last updated