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 a garantire 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 frode.

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

App Check può essere attivato in Google API Console o nella Console Firebase. Non è necessario abilitarlo in entrambi i posti, ne basta uno.

Google API Console

Per abilitare 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 pacchetto, in quanto può essere risolto in più di un'app. Ciò significa che l'ID pacchetto non deve includere il simbolo 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 tuo client iOS.

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

Quando abiliti App Check per la tua app per iOS, potresti visualizzare errori correlati alla funzionalità App Check. Per risolvere questi errori, prova a procedere nel seguente modo:

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

Console Firebase

  1. Per utilizzare App Check con Google Sign-in, devi disporre di un progetto Firebase.

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

    • Se la tua app utilizza Google Sign-in, ma non Firebase, hai già un progetto Google Cloud. Aggiungi Firebase al tuo progetto Google Cloud selezionandolo quando crei un nuovo progetto nella console Firebase.

      Vedi anche: Relazione tra progetti Firebase e Google Cloud

  2. Se non l'hai ancora fatto, aggiungi le tue app per iOS al progetto Firebase utilizzando la pagina Impostazioni progetto della console Firebase.

  3. Registra le tue app per utilizzare App Check con il provider App Attest nella sezione App Check della console Firebase.

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

    Se hai client scollegati, nella sezione Google Identity 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, vedrai il messaggio "Hai n override senza client OAuth corrispondente". Puoi eseguire la pulizia in modo sicuro eliminando questi override.

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

2. Aggiungere la libreria Google Sign-In alla tua app

  1. Nel progetto Xcode, imposta la dipendenza dall'accesso con Google sulla versione 8.0.0 o successive :

    SPM

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

    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
    

    Poi 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 delegato dell'app, chiama GIDSignIn.sharedInstance.configure(completion:). Ti consigliamo di 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 token App Check insieme a ogni richiesta che effettua agli endpoint di autenticazione di Google, ma gli endpoint non richiederanno la validità dei token finché non attivi l'applicazione forzata nella sezione App Check della console Firebase.

Monitorare le metriche

Prima di attivare l'applicazione, però, devi assicurarti che questa operazione non interrompa l'attività degli utenti legittimi esistenti. D'altra parte, se noti un utilizzo sospetto delle risorse della tua app, potresti voler attivare l'applicazione prima.

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

Abilitare l'applicazione di App Check

Quando avrai compreso l'impatto di App Check sui tuoi utenti e sarai pronto per procedere, potrai attivare 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 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 della tua app che utilizza il provider di debug App Check anziché App Attest.

Vedi Utilizzare App Check con il provider di debug.