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.
Registra le tue app per utilizzare App Check con il provider App Attest nella App Check sezione della Firebase console.
In genere, devi registrare tutte le app del tuo progetto, perché una volta abilitata l'applicazione forzata 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 su qualsiasi valore compreso tra 30 minuti e 7 giorni. Quando modifichi questo valore, tieni presente i seguenti compromessi:
- Sicurezza: le durate 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 malintenzionato.
- Rendimento: le durate 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 breve può influire sul rendimento dell'app.
- Quota e costi: le durate 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 predefinita di 1 ora è ragionevole per la maggior parte delle app. Tieni presente che la libreria App Check aggiorna i token a circa metà della durata.
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 forzata nella sezione App Check della console Firebase.
Monitorare le metriche e abilitare l'applicazione forzata
Prima di abilitare l'applicazione forzata, 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 forzata prima.
Per prendere questa decisione, puoi esaminare le metriche App Check per i servizi che utilizzi:
- Monitora le metric1/} metriche delle richieste per Firebase AI Logic, Data Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity per iOS, API Maps JavaScript e API Places (nuova).App Check
- Monitora le metriche delle richieste App Check per Cloud Functions.
Abilitare l'applicazione forzata di App Check
Quando hai compreso l'impatto di App Check sugli utenti e sei pronto per procedere, puoi abilitare l'applicazione forzata di App Check:
- Abilita l'App Checkapplicazione forzata per Firebase AI Logic, Data Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity per iOS, API Maps JavaScript e API Places (nuova).
- Abilita l'applicazione forzata 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.