Proteggi le risorse non Firebase con App Check

Puoi proteggere le risorse non Firebase della tua app, come i backend self-hosted, con App Check. Per fare ciò, dovrai eseguire entrambe le seguenti operazioni:

  • Modifica il client dell'app per inviare un token App Check insieme a ogni richiesta al tuo back-end, come descritto in questa pagina.
  • Modifica il tuo back-end per richiedere un token App Check valido con ogni richiesta, come descritto in Verifica dei token App Check da un back-end personalizzato .

Prima di iniziare

Aggiungi App Check alla tua app, utilizzando i provider predefiniti .

Invia token App Check con richieste di back-end

Per assicurarti che le tue richieste di back-end includano un token App Check valido e non scaduto, fai precedere ogni richiesta con una chiamata a getToken() . La libreria App Check aggiornerà il token se necessario.

Una volta che hai un token valido, invialo insieme alla richiesta al tuo back-end. Le specifiche su come eseguire questa operazione dipendono da te, ma non inviare token App Check come parte degli URL , inclusi i parametri di query, poiché ciò li rende vulnerabili a perdite e intercettazioni accidentali. L'approccio consigliato consiste nell'inviare il token in un'intestazione HTTP personalizzata.

Per esempio:

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