Usar o App Check para proteger recursos que não são do Firebase

É possível proteger os recursos do seu app que não são do Firebase, como back-ends auto-hospedados, com o App Check. Para isso, será necessário realizar as ações a seguir:

  • Modifique o cliente do app para enviar um token do App Check junto com cada solicitação para o back-end, conforme descrito nesta página.
  • Modifique seu back-end para exigir um token do App Check válido em todas as solicitações, conforme descrito em Verificar tokens do App Check de um back-end personalizado.

Antes de começar

Adicione o App Check ao seu app usando os provedores padrão.

Enviar tokens do App Check com solicitações de back-end

Para garantir que as solicitações de back-end incluam um token válido e não expirado do App Check, basta preceder cada pedido com uma chamada para getToken(). A biblioteca do App Check será atualizada se o token for necessário.

Quando você tiver um token válido, envie com a solicitação para o back-end. Você decide como fazer isso, mas não envie tokens do App Check como parte dos URLs, inclusive nos parâmetros de consulta, porque isso os torna vulneráveis a vazamentos e interceptações acidentais. A abordagem recomendada é enviar o token em um cabeçalho HTTP personalizado.

Exemplo:

void callApiExample() async {
    final appCheckToken = await FirebaseAppCheck.instance.getToken();
    if (appCheckToken != null) {
        final response = await http.get(
            Uri.parse("https://yourbackend.example.com/yourExampleEndpoint"),
            headers: {"X-Firebase-AppCheck": appCheckToken},
        );
    } else {
        // Error: couldn't get an App Check token.
    }
}