Comece a usar o App Check com o reCAPTCHA Enterprise em plataformas Apple

Selecionar plataforma: iOS+ Android Web Flutter


Nesta página, mostramos como configurar o App Check em um app para plataformas da Apple usando o provedor reCAPTCHA Enterprise. O App Check ajuda a garantir que apenas seu app possa acessar os recursos de back-end do seu projeto. Para saber mais, consulte nossa visão geral do App Check.

O App Check exige o uso de chaves reCAPTCHA baseadas em pontuação, o que as torna invisíveis para os usuários. Isso significa que o provedor reCAPTCHA Enterprise não vai exigir que os usuários resolvam um desafio a qualquer momento.

Se o caso de uso exigir recursos do reCAPTCHA Enterprise que não são implementados pelo App Check ou se você quiser usar o App Check com seu próprio provedor personalizado, consulte Implementar um provedor App Check personalizado.

1. Configurar seu projeto do Firebase

  1. Adicione o Firebase ao seu projeto da Apple caso ainda não tenha feito isso.

  2. No console do Google Cloud, acesse a página Fraud Defense e faça o seguinte para o provedor reCAPTCHA Enterprise:

    1. Verifique se você está no projeto correto (consulte o seletor de projetos na parte de cima da tela).

    2. Se solicitado, ative a API reCAPTCHA Enterprise.

    3. Crie uma chave do tipo iOS e especifique o ID do pacote do app (por exemplo, com.example.my_app).

      • Insira o mesmo ID do pacote que você forneceu ao criar o app da Apple no projeto do Firebase. O valor do ID do pacote diferencia maiúsculas de minúsculas.

      • Para App Check, cada ID do pacote só pode corresponder a uma única chave reCAPTCHA.

      Para instruções detalhadas, consulte Criar chaves do reCAPTCHA com base em pontuação.

    4. Anote essa chave. Você precisará adicioná-lo ao fluxo de registro no console do Firebase.

  3. No console do Firebase, acesse Segurança > App Check.

  4. Na guia Apps, registre seus apps de plataformas da Apple para usar App Check com o provedor reCAPTCHA Enterprise. Você vai precisar fornecer a chave que recebeu no console do Google Cloud.

  5. Opcional: defina o time to live (TTL) do token.

    Nas configurações de registro do app, defina um time to live (TTL) personalizado para os tokens do App Check emitidos pelo provedor. É possível definir o TTL como qualquer valor entre 30 minutos e 7 dias. Ao mudar esse valor, esteja ciente das seguintes compensações:

    • Segurança: os TTLs mais curtos oferecem maior segurança, porque reduzem a janela em que um token vazado ou interceptado pode ser usado por um invasor.
    • Desempenho: TTLs mais curtos significam que seu app realizará atestados com mais frequência. Como o processo de atestado do app adiciona latência às solicitações de rede sempre que é executado, um TTL curto pode afetar o desempenho do app.
    • Cota e custo: TTLs mais curtos e novos atestados frequentes esgotam sua cota mais rapidamente e, para serviços pagos, podem custar mais. Consulte Cotas e limites.

    O TTL padrão de uma hora é razoável para a maioria dos apps. A biblioteca App Check atualiza os tokens em aproximadamente metade da duração do TTL.

  6. Opcional: defina as configurações avançadas.

  7. Clique em Salvar.

(Opcional) Definir configurações avançadas

Quando um usuário abre seu app, o reCAPTCHA Enterprise avalia o nível de risco da interação do usuário sob a chave e retorna uma pontuação entre 0,0 e 1,0, em incrementos de 0,1.

  • Uma pontuação de 0,0 indica que a interação apresenta alto risco e pode ser fraudulenta.
  • Uma pontuação de 1,0 indica que a interação apresenta risco baixo e muito provavelmente é legítima.

Com o App Check, é possível configurar um limite de risco do app para ajustar sua tolerância a esse risco.

Na maioria dos casos de uso, o valor de limite padrão de 0,5 é recomendado. Se o caso de uso exigir ajuste, configure esse valor para cada um dos apps no console do Firebase (acesse Segurança > App Check). Abra e leia algumas considerações importantes sobre como configurar o limite de risco do app abaixo.

2. Adicionar o SDK do App Check ao seu app

Use o Swift Package Manager (SPM) para instalar e gerenciar as dependências do Firebase. Se você já usa o Firebase, verifique se o pacote é da versão 12.17.0 ou mais recente.

  1. No Xcode, abra o projeto do app.

  2. Adicione a biblioteca do Firebase:

    1. Acesse File > Add Packages.

    2. Quando solicitado, adicione o repositório do SDK do Firebase para as plataformas Apple:

      https://github.com/firebase/firebase-ios-sdk
      
    3. Selecione a versão mais recente do SDK (v12.17.0 ou mais recente).

    4. Selecione a biblioteca FirebaseAppCheck.

    5. Clique em Adicionar pacote. O Xcode vai resolver e fazer o download das dependências.

    6. Quando solicitado, adicione a biblioteca ao destino do app.

  3. Adicione a biblioteca do reCAPTCHA Enterprise:

    1. Volte para File > Add Packages.

    2. Quando solicitado, adicione o repositório do SDK do reCAPTCHA Enterprise:

      https://github.com/GoogleCloudPlatform/recaptcha-enterprise-mobile-sdk
      
    3. Selecione a biblioteca RecaptchaEnterprise.

    4. Clique em Adicionar pacote. Quando solicitado, adicione a biblioteca ao destino do app.

3. Inicializar o App Check

No app, é necessário inicializar o App Check antes de usar qualquer outro serviço do Firebase.

Crie uma instância de RecaptchaProviderFactory, transmitindo sua chave reCAPTCHA, e configure App Check para usá-la:

let providerFactory = RecaptchaProviderFactory(siteKey: "SITE_KEY")
AppCheck.setAppCheckProviderFactory(providerFactory)

FirebaseApp.configure()

4. Monitorar métricas e ativar a aplicação obrigatória

Depois de configurar o App Check no seu app, comece a distribuir o app atualizado para os usuários.

O app cliente atualizado vai começar a enviar tokens do App Check em todas as solicitações feitas ao Firebase. No entanto, o App Check não vai bloquear solicitações com tokens inválidos até que o App Check seja aplicado.

Monitorar as métricas

Antes de ativar a aplicação obrigatória, verifique se isso não vai afetar seus usuários legítimos. No entanto, se você perceber um uso suspeito dos recursos do seu app, convém ativar a aplicação obrigatória antes do previsto.

Para tomar essa decisão, analise as métricas do App Check nos serviços usados:

Ativar a aplicação App Check

Assim que você entender como o App Check vai afetar seus usuários e estiver tudo pronto para prosseguir, ative a aplicação obrigatória do App Check:

Usar App Check em ambientes de depuração

O App Check classifica alguns ambientes como inválidos, como solicitações de um emulador / simulador durante o desenvolvimento ou de um ambiente de integração contínua (CI).

Para executar o app nesses tipos de ambientes após a aplicação de App Check, é necessário criar um build de depuração do app que use o provedor de depuração do App Check em vez de um provedor de atestado de produção.

Para mais detalhes, consulte Usar o App Check com o provedor de depuração em plataformas da Apple.

Preços

O App Check cria uma avaliação em seu nome para validar o token de resposta do usuário sempre que o app atualiza o token App Check. Seu projeto do Firebase será cobrado por cada avaliação criada acima da cota sem custo financeiro. Para mais detalhes, consulte Preços do reCAPTCHA.

Por padrão, seu app vai atualizar esse token duas vezes a cada uma hora. Para controlar a frequência com que o app atualiza os tokens do App Check (e, com isso, a frequência com que novas avaliações são criadas), configure o TTL do token.