É 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 AppCheck::GetAppCheckToken()
. A biblioteca do App Check vai atualizar o token, se necessário.
Quando você tiver um token válido, envie-o 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() {
firebase_app_check::AppCheck* app_check = firebase::app_check::AppCheck::GetInstance();
Future<std::string> app_check_future = app_check->GetAppCheckToken(false);
app_check_future.OnCompletion([&](const Future<std::string>& future_token) {
if (future_token.result()) {
// Got a valid App Check token. Include it in your own http calls.
}
}
}