Utilizzare App Check con il provider di debug nelle app web

Se, dopo aver registrato la tua app per App Check, vuoi eseguirla in un ambiente che App Check normalmente non classificherebbe come valido, ad esempio localmente durante lo sviluppo o da un ambiente di integrazione continua (CI), puoi creare una build di debug della tua app che utilizzi il fornitore di debug App Check anziché un fornitore di attestazione reale.

Utilizzare il provider di debug su localhost

Per utilizzare il provider di debug durante l'esecuzione dell'app da localhost (ad esempio durante lo sviluppo), procedi nel seguente modo:

  1. Nella build di debug, attiva la modalità di debug impostando self.FIREBASE_APPCHECK_DEBUG_TOKEN su true prima di inizializzare App Check. Ad esempio:

    Web

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
    initializeAppCheck(app, { /* App Check options */ });
    

    Web

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
    firebase.appCheck().activate(/* site key or provider */);
    
  2. Visita la tua app web localmente e apri lo strumento per sviluppatori del browser. Nella console di debug vedrai un token di debug:

    AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678". You will
    need to safelist it in the Firebase console for it to work.
  3. Nella sezione App Check della console Firebase, scegli Gestisci token di debug dal menu extra dell'app. Quindi, registra il token di debug che hai eseguito nel passaggio precedente.

    Screenshot della voce di menu Gestisci token di debug

Dopo aver registrato il token, i servizi di backend di Firebase lo accetteranno come valido.

Poiché questo token consente l'accesso alle risorse Firebase senza un dispositivo valido, è fondamentale mantenerlo privato. Non eseguirne il commit in un repository pubblico e, se un token registrato viene compromesso, revocalo immediatamente nella console Firebase.

Questo token viene memorizzato localmente nel browser e verrà utilizzato ogni volta che utilizzi l'app nello stesso browser sulla stessa macchina. Se vuoi utilizzare il token in un altro browser o su un'altra macchina, imposta self.FIREBASE_APPCHECK_DEBUG_TOKEN nella stringa del token anziché true.

Utilizzare il provider di debug in un ambiente CI

Per utilizzare il provider di debug in un ambiente di integrazione continua (CI), segui questi passaggi:

  1. Nella sezione App Check della console Firebase, scegli Gestisci token di debug dal menu overflow della tua app. Poi, crea un nuovo token di debug. Ti servirà nel passaggio successivo.

    Poiché questo token consente di accedere alle risorse Firebase senza un dispositivo valido, è fondamentale mantenerlo privato. Non eseguirne il commit in un repository pubblico e, se un token registrato viene compromesso, revocalo immediatamente nella console Firebase.

    Screenshot della voce di menu Gestisci token di debug

  2. Aggiungi il token di debug che hai appena creato al key store sicuro del tuo sistema CI (ad esempio, i segreti criptati di GitHub Actions o le variabili criptate di Travis CI).

  3. Se necessario, configura il sistema CI in modo da rendere disponibile il token di debug all'interno dell'ambiente CI come variabile di ambiente. Assegna alla variabile un nome come APP_CHECK_DEBUG_TOKEN_FROM_CI.

  4. Nella compilazione di debug, attiva la modalità di debug impostando self.FIREBASE_APPCHECK_DEBUG_TOKEN sul valore della variabile di ambiente del token di debug prima di importare App Check. Ad esempio:

    Web

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = process.env.APP_CHECK_DEBUG_TOKEN_FROM_CI;
    initializeAppCheck(app, { /* App Check options */ });
    

    Web

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = process.env.APP_CHECK_DEBUG_TOKEN_FROM_CI;
    firebase.appCheck().activate(/* site key or provider */);
    

Quando l'app viene eseguita in un ambiente CI, i servizi di backend di Firebase accetteranno il token inviato come valido.