Inizia a utilizzare App Check per Accedi con Google su iOS

Questa pagina mostra come attivare App Check in un'app per iOS. Quando attivi App Check, contribuisci ad assicurarti che solo la tua app possa accedere agli endpoint OAuth 2.0 di Google per conto del tuo progetto. Consulta una panoramica di questa funzionalità.

App Check utilizza App Attest per verificare che le richieste OAuth 2.0 provengano dalla tua app autentica. App Check non utilizza App Attest per analizzare il rischio di attività fraudolenta.

Prima di iniziare

  1. Assicurati di avere Xcode 12.5 o versioni successive.

  2. Integra Accedi con Google nella tua app per iOS utilizzando la libreria Accedi con Google.

1. Configura il progetto

Controllo app può essere attivato in Google API Console o nella Console Firebase. Non è necessario attivarla in entrambi i modi, ne è sufficiente uno.

Google API Console

Per attivare correttamente App Check per il client iOS, devono essere soddisfatti i seguenti requisiti:
  • Devi specificare un ID team per il tuo client iOS.
  • Non devi utilizzare un carattere jolly nell'ID bundle, poiché può risolvere in più di un'app. Ciò significa che l'ID bundle non deve includere il simbolo dell'asterisco (*).
Per attivare App Check, attiva il pulsante di attivazione/disattivazione Proteggi il tuo client OAuth da comportamenti illeciti con Firebase App Check nella visualizzazione di modifica del client per iOS.

Dopo aver attivato App Check, inizierai a visualizzare le metriche relative alle richieste OAuth inviate dal tuo client nella visualizzazione di modifica del client OAuth. Le richieste provenienti da origini non verificate non verranno bloccate finché non applicherai il controllo app. Le informazioni riportate nella pagina di monitoraggio delle metriche possono aiutarti a determinare quando iniziare l'applicazione.

Quando attivi App Check per la tua app per iOS, potresti visualizzare errori relativi alla funzionalità. Per risolvere questi errori, prova quanto segue:

  • Verifica che l'ID bundle e l'ID team specificati siano validi.
  • Verifica di non utilizzare un carattere jolly per l'ID pacchetto.

Console Firebase

  1. Per utilizzare App Check con Accesso Google, devi avere un progetto Firebase.

    • Se la tua app utilizza già Firebase, utilizza lo stesso progetto.

    • Se la tua app utilizza Accedi con Google, ma non Firebase, hai già un progetto Google Cloud. Aggiungi Firebase al tuo progetto Google Cloud selezionato quando crei un nuovo progetto nella Console Firebase.

      Vedi anche: Relazione tra progetti Firebase e Google Cloud

  2. Se non l'hai già fatto, aggiungi le app per iOS al tuo progetto Firebase utilizzando la pagina Impostazioni progetto della Console Firebase.

  3. Registra le tue app per l'utilizzo di App Check con il fornitore App Attest nella sezione App Check della Console Firebase.

  4. Assicurati che tutti i client OAuth del progetto siano collegati a un'app.

    Se hai client scollegati, nella sezione Identità Google per iOS della pagina Controllo app viene visualizzato il messaggio "Hai n client OAuth scollegati che richiedono una configurazione aggiuntiva".

    Inoltre, se hai eliminato alcuni client OAuth dopo averli configurati in App Check, visualizzerai il messaggio "Hai n override senza client OAuth corrispondente". Puoi eseguire la pulizia in sicurezza eliminando queste sostituzioni.

    Puoi collegare i client scollegati a un'app esistente o nuova nella pagina Client OAuth della Console Firebase.

2. Aggiungere la libreria di Accesso Google alla tua app

  1. Nel progetto Xcode, imposta la dipendenza da Accesso Google sulla versione8.0.0 o successiva :

    SPM

    Imposta la regola di dipendenza di googlesignin-ios sulla versione 8.0.0 o superiore.

    CocoaPods

    Aggiorna Podfile:

    source 'https://github.com/CocoaPods/Specs.git'
    source 'https://github.com/firebase/SpecsDev.git'
    
    target 'YourAppName' do
      use_frameworks!
    
      pod 'GoogleSignIn','~> 8.0'
          :git => 'https://github.com/google/GoogleSignIn-iOS.git'
      pod 'GoogleSignInSwiftSupport'  # If you use SwiftUI.
    end
    

    Quindi, esegui pod install e apri il file .xcworkspace creato.

  2. In Xcode, aggiungi la funzionalità App Attest alla tua app.

  3. Nel file .entitlements del progetto, imposta l'ambiente App Attest su production.

3. Inizializzare App Check

Nel metodo didFinishLaunchingWithOptions del tuo app delegate, chiama GIDSignIn.sharedInstance.configure(completion:). Devi chiamare questo metodo il prima possibile nel ciclo di vita dell'app per ridurre al minimo la latenza percepita dall'utente.

import SwiftUI
import GoogleSignIn

class AppDelegate: NSObject, UIApplicationDelegate {
  func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil
  ) -> Bool {
    #if targetEnvironment(simulator)
    // Configure for debugging.
    // See: https://developers.google.com/identity/sign-in/ios/appcheck/debug-provider
    #else
    GIDSignIn.sharedInstance.configure { error in
      if let error {
        print("Error configuring `GIDSignIn` for Firebase App Check: \(error)")
      }
    }
    #endif

    return true
  }
}

@main
struct YourAppNameApp: App {
  @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate

  // ...
}

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 inviata agli endpoint di autenticazione di Google, ma questi ultimi non richiederanno che i token siano validi finché non attivi l'applicazione forzata nella sezione App Check della console Firebase.

Monitorare le metriche

Tuttavia, prima di attivare l'applicazione, devi assicurarti che questa operazione non causi interruzioni per gli utenti legittimi esistenti. D'altra parte, se noti un uso sospetto delle risorse della tua app, ti consigliamo di attivare l'applicazione delle norme in precedenza.

Per aiutarti a prendere questa decisione, puoi consultare le metriche di App Check per Accedi con Google.

Attivare l'applicazione forzata di App Check

Quando hai compreso in che modo App Check influirà sui tuoi utenti e sei pronto a procedere, puoi abilitare l'applicazione di App Check.

Utilizzare App Check negli ambienti di debug

Se, dopo aver registrato la tua app per App Check, vuoi eseguirla in un ambiente che normalmente App Check 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 della tua app che utilizzi il provider di debug App Check invece di App Attest.

Vedi Utilizzare App Check con il provider di debug.