Inizia a utilizzare App Check con un provider personalizzato con C++

Questa pagina illustra come abilitare App Check in un'app C++ utilizzando il provider App Check personalizzato . Quando abiliti App Check, contribuisci a garantire che solo la tua app possa accedere alle risorse Firebase del tuo progetto.

Se vuoi usare App Check con i provider predefiniti, vedi Abilitare App Check con provider predefiniti con C++ .

Prima di iniziare

1. Aggiungi la libreria App Check alla tua app

Includi la libreria App Check nel tuo set di dipendenze, seguendo le istruzioni di configurazione per App Check.

2. Implementare le interfacce App Check

Innanzitutto, devi creare classi che implementino le interfacce AppCheckProvider e AppCheckProviderFactory .

La tua classe AppCheckProvider deve avere un metodo GetToken() , che raccoglie tutte le informazioni richieste dal tuo provider App Check personalizzato come prova di autenticità e le invia al tuo servizio di acquisizione token in cambio di un token App Check. L'SDK App Check gestisce la memorizzazione nella cache dei token, quindi ottieni sempre un nuovo token nell'implementazione di GetToken() .

class YourCustomAppCheckProvider : public AppCheckProvider {
  void GetToken(std::function<void(AppCheckToken, int, const std::string&)>
      completion_callback) {
    // Logic to exchange proof of authenticity for an App Check token and
    //   expiration time.
    // ...

    // Create AppCheckToken object.
    AppCheckToken appCheckToken;
    appCheckToken.token = token;
    appCheckToken.expire_time_millis = expireTime;

    completion_callback(appCheckToken, 0, "");

    // Or, if needing to return an error
    //completion_callback({}, error_code, "Error description");
  }
};

Inoltre, implementa una classe AppCheckProviderFactory che crea istanze della tua implementazione AppCheckProvider :

class YourCustomAppCheckProviderFactory : public AppCheckProviderFactory {
  AppCheckProvider* CreateProvider(App* app) {
    // Create and return an AppCheckProvider object.
    return new YourCustomAppCheckProvider(app);
  }
}

3. Inizializza Controllo app

Aggiungi il seguente codice di inizializzazione alla tua app in modo che venga eseguita prima di utilizzare qualsiasi altro SDK Firebase:

firebase::app_check::AppCheck::SetAppCheckProviderFactory(
    YourCustomAppCheckProviderFactory::GetInstance());

Prossimi passi

Una volta installata la libreria App Check nella tua app, inizia a distribuire l'app aggiornata ai tuoi utenti.

L'app client aggiornata inizierà a inviare token App Check insieme a ogni richiesta effettuata a Firebase, ma i prodotti Firebase non richiederanno che i token siano validi finché non abiliti l'applicazione nella sezione App Check della console Firebase.

Monitorare le metriche e abilitare l'applicazione

Prima di abilitare l'applicazione, tuttavia, dovresti assicurarti che ciò non interrompa gli utenti legittimi esistenti. D'altro canto, se noti un utilizzo sospetto delle risorse dell'app, potresti voler abilitare l'applicazione prima.

Per aiutarti a prendere questa decisione, puoi esaminare le metriche di App Check per i servizi che utilizzi:

Abilita l'applicazione di App Check

Una volta compreso l'impatto di App Check sui tuoi utenti e quando sei pronto per procedere, puoi abilitare l'applicazione di App Check:

Utilizza App Check negli ambienti di debug

Se, dopo aver registrato l'app per App Check, desideri eseguire l'app in un ambiente che App Check normalmente non classificherebbe come valido, ad esempio un emulatore durante lo sviluppo o da un ambiente di integrazione continua (CI), puoi crea una build di debug della tua app che utilizza il provider di debug App Check anziché un vero provider di attestazione.

Vedere utilizzare App Check con il provider di debug con C++ .