Questa pagina mostra come abilitare App Check in un'app Apple utilizzando il provider App Attest integrato. Quando abiliti App Check, contribuisci a garantire che solo la tua app possa accedere alle risorse Firebase del tuo progetto. Consulta una panoramica di questa funzionalità.
App Check utilizza App Attest per verificare che le richieste ai servizi Firebase provengano dalla tua app autentica. App Check al momento non utilizza App Attest per analizzare il rischio di frode.
Se vuoi utilizzare App Check con il tuo provider personalizzato, consulta Implementare un provider App Check personalizzato.
1. Configurare il progetto Firebase
Per utilizzare App Attest, devi avere Xcode 12.5 o versioni successive.
Se non l'hai già fatto, aggiungi Firebase al tuo progetto Apple.
Nella Firebase console, vai a Sicurezza > App Check.
Nella scheda App, registra le tue app per utilizzare App Check con il provider App Attest.
In genere, devi registrare tutte le app del tuo progetto, perché una volta abilitata l'applicazione per un prodotto Firebase, solo le app registrate potranno accedere alle risorse di backend del prodotto.
Facoltativo: nelle impostazioni di registrazione dell'app, imposta una durata (TTL) personalizzata per i token App Check emessi dal provider. Puoi impostare la durata TTL su qualsiasi valore compreso tra 30 minuti e 7 giorni. Quando modifichi questo valore, tieni presente i seguenti compromessi:
- Sicurezza: le durate TTL più brevi offrono una maggiore sicurezza, perché riducono la finestra in cui un token intercettato o trapelato può essere utilizzato in modo illecito da un utente malintenzionato.
- Prestazioni: le durate TTL più brevi significano che la tua app eseguirà l'attestazione più spesso. Poiché il processo di attestazione dell'app aggiunge latenza alle richieste di rete ogni volta che viene eseguito, una durata TTL breve può influire sulle prestazioni dell'app.
- Quota e costi: le durate TTL più brevi e la riattestazione frequente esauriscono la quota più rapidamente e, per i servizi a pagamento, potrebbero costare di più. Consulta Quote e limiti.
La durata TTL predefinita di 1 ora è ragionevole per la maggior parte delle app. Tieni presente che la App Check libreria aggiorna token a circa metà della durata TTL.
2. Aggiungere la libreria App Check all'app
Utilizza Swift Package Manager per installare e gestire le dipendenze di Firebase.
In Xcode, con il progetto dell'app aperto, vai a File > Add Packages (File > Aggiungi pacchetti), aggiungi il repository dell'SDK delle piattaforme Apple di Firebase (
https://github.com/firebase/firebase-ios-sdk) e scegli la libreria FirebaseAppCheck.In Xcode, aggiungi la funzionalità App Attest alla tua app.
Nel file
.entitlementsdel progetto, imposta l'ambiente App Attest suproduction.
3. Inizializzare App Check
Dovrai inizializzare App Check prima di utilizzare altri Firebase SDK.
Innanzitutto, scrivi un'implementazione di AppCheckProviderFactory. I dettagli della tua implementazione dipendono dal tuo caso d'uso.
Ad esempio, se hai utenti solo su iOS 14 e versioni successive, puoi semplicemente creare sempre oggetti AppAttestProvider:
Swift
Nota: questo prodotto Firebase non è disponibile sulle destinazioni watchOS.
class YourSimpleAppCheckProviderFactory: NSObject, AppCheckProviderFactory { func createProvider(with app: FirebaseApp) -> AppCheckProvider? { return AppAttestProvider(app: app) } }
Objective-C
Nota: questo prodotto Firebase non è disponibile sulle destinazioni watchOS.
@interface YourSimpleAppCheckProviderFactory : NSObject <FIRAppCheckProviderFactory> @end @implementation YourSimpleAppCheckProviderFactory - (nullable id<FIRAppCheckProvider>)createProviderWithApp:(nonnull FIRApp *)app { return [[FIRAppAttestProvider alloc] initWithApp:app]; } @end
In alternativa, puoi creare oggetti AppAttestProvider su iOS 14 e versioni successive e utilizzare DeviceCheckProvider nelle versioni precedenti:
Swift
Nota: questo prodotto Firebase non è disponibile sulle destinazioni watchOS.
class YourAppCheckProviderFactory: NSObject, AppCheckProviderFactory { func createProvider(with app: FirebaseApp) -> AppCheckProvider? { if #available(iOS 14.0, *) { return AppAttestProvider(app: app) } else { return DeviceCheckProvider(app: app) } } }
Objective-C
Nota: questo prodotto Firebase non è disponibile sulle destinazioni watchOS.
@interface YourAppCheckProviderFactory : NSObject <FIRAppCheckProviderFactory> @end @implementation YourAppCheckProviderFactory - (nullable id<FIRAppCheckProvider>)createProviderWithApp:(nonnull FIRApp *)app { if (@available(iOS 14.0, *)) { return [[FIRAppAttestProvider alloc] initWithApp:app]; } else { return [[FIRDeviceCheckProvider alloc] initWithApp:app]; } } @end
Dopo aver implementato una classe AppCheckProviderFactory, configura
App Check per utilizzarla:
Swift
Nota: questo prodotto Firebase non è disponibile sulle destinazioni watchOS.
let providerFactory = YourAppCheckProviderFactory() AppCheck.setAppCheckProviderFactory(providerFactory) FirebaseApp.configure()
Objective-C
Nota: questo prodotto Firebase non è disponibile sulle destinazioni watchOS.
YourAppCheckProviderFactory *providerFactory = [[YourAppCheckProviderFactory alloc] init]; [FIRAppCheck setAppCheckProviderFactory:providerFactory]; [FIRApp configure];
Passaggi successivi
Una volta installata la libreria App Check nella tua app, inizia a distribuire l'app aggiornata agli utenti.
L'app client aggiornata inizierà a inviare i token App Check insieme a ogni richiesta a Firebase, ma i prodotti Firebase non richiederanno la validità dei token finché non abiliti l'applicazione nella sezione App Check della console Firebase.
Monitorare le metriche e abilitare l'applicazione
Prima di abilitare l'applicazione, devi assicurarti che questa operazione non interrompa gli utenti legittimi esistenti. D'altra parte, se noti un utilizzo sospetto delle risorse dell'app, potresti voler abilitare l'applicazione prima.
Per prendere questa decisione, puoi esaminare le metriche App Check per i servizi che utilizzi:
- Monitora le metriche delle richieste App Check per Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity per iOS, API Maps JavaScript e API Places (nuova).
- Monitora le metriche delle richieste App Check per Cloud Functions.
Abilitare l'applicazione di App Check
Quando hai capito in che modo App Check influirà sui tuoi utenti e sei pronto per procedere, puoi abilitare l'applicazione di App Check:
- Abilita l'App Checkapplicazione per Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity per iOS, API Maps JavaScript e API Places (nuova).
- Abilita l'applicazione per App CheckCloud Functions.
Utilizzare App Check negli ambienti di debug
Se, dopo aver registrato l'app per App Check, vuoi eseguire la tua app in un ambiente che App Check normalmente non classificherebbe come valido, ad esempio un simulatore durante lo sviluppo o da un ambiente di integrazione continua (CI), puoi creare una build di debug dell'app che utilizza il provider di debug di App Check anziché un provider di attestazione reale.
Consulta Utilizzare App Check con il provider di debug sulle piattaforme Apple.