Proteggere le risorse di backend personalizzate con App Check nei progetti C++

Puoi utilizzare App Check per proteggere le risorse di backend personalizzate non Google per la tua app, come il tuo backend self-hosted. A questo scopo, dovrai fare entrambe le seguenti operazioni:

  • Modifica il client dell'app per inviare un token App Check insieme a ogni richiesta al tuo backend, come descritto in questa pagina.
  • Modifica il backend in modo che richieda un token App Check valido per ogni richiesta, come descritto in Verificare i token App Check da un backend personalizzato.

Prima di iniziare

Aggiungi App Check alla tua app utilizzando i provider predefiniti.

Inviare token App Check con le richieste di backend

Per assicurarti che le richieste di backend includano un token App Check valido e non scaduto, precedi ogni richiesta con una chiamata a AppCheck::GetAppCheckToken(). La libreria Controlla app aggiornerà il token, se necessario.

Una volta ottenuto un token valido, invialo insieme alla richiesta al tuo backend. I dettagli su come eseguire questa operazione dipendono da te, ma non inviare token App Check come parte degli URL, inclusi i parametri di query, in quanto li rende vulnerabili a divulgazione e intercettazione accidentali. L'approccio consigliato è inviare il token in un'intestazione HTTP personalizzata.

Ad esempio:

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