É 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.
}
}