Saltare al contenuto

Firebase Google Login su iOS

GitHub

Questa guida ti aiuterà a integrare Google Sign-In con Firebase Authentication su iOS. Suppongo che tu abbia già completato il Configurazione generale di Firebase Google.

  1. Vai alla tua panoramica del progetto su console.cloud.google.com

    Panoramica del progetto Firebase
  2. Clicca sul Add app tasto

    Firebase Aggiungi App Button Pulsante Aggiungi App Firebase
  3. Seleziona iOS

    Pulsante Aggiungi App iOS Firebase
  4. Compila la prima parte del modulo

    1. Compila il Apple bundle ID
      1. Apri Xcode nel tuo progetto di app npx cap open ios
      2. Clicca due volte su App Target dell'app in navigatore del progetto Xcode
      3. Assicurati di essere su Targets -> App Sezione Targets in Xcode con App selezionata
      4. Cerca il tuo Bundle Identifier Campo Identificatore Bundle in impostazioni progetto Xcode
      5. Copia il Bundle Identifier e incollalo nel console Firebase Campo Identificatore Bundle App iOS Firebase
    2. Clicca sul Register app botton Aggiungi App di Firebase iOS Registro Button
  5. Saltare il Download config file passaggio

    Salta il download di Aggiungi App di Firebase iOS Button
  6. Saltare il Add firebase SDK passaggio

    Salta il download di Aggiungi App di Firebase iOS Firebase SDK Button
  7. Saltare il Add initialization code passaggio

    Salta l'inizializzazione di Aggiungi App di Firebase iOS Add Code Button
  8. Clicca sul Continue to console bottone

    Aggiungi App di Firebase iOS Continua alla Console del Bottoncino
  9. Ottieni il tuo ID client iOS e il tuo YOUR_DOT_REVERSED_IOS_CLIENT_ID

    1. Vai al Console di Google Cloud a console.cloud.google.com

    2. Trova il tuo progetto

      1. Clicca sul selettore del progetto Selettore del Progetto di Google Cloud Console
      2. Cerca il tuo progetto con il nome esatto del tuo progetto Firebase e clicca su di esso. Nel mio caso, è sociallogin-tutorial-app. Selettore del Progetto di Firebase Progetto
    3. Apri la barra di ricerca e apri credentials

      1. Apri la barra di ricerca Barra di Ricerca di Google Cloud Console
      2. Cerca per credentials e clicca sul APIs and Services il numero 2 nell'immagine Cerca credenziali Google Cloud Console
    4. Clicca sul iOS client for [YOUR_APP_ID] (auto created by Google Service) uno. Nel mio caso, è sociallogin-tutorial-app.

      Credenziali Google Cloud Console ID client iOS
    5. Copia il Client ID e anche il iOS URL scheme. Questo sarà rispettivamente il tuo iOSClientId e YOUR_DOT_REVERSED_IOS_CLIENT_ID.

      ID del client iOS di Google Cloud Console Credenziali Copia
  10. Otterra il tuo ID del client web

    1. Torna indietro al console di Firebase e vai a Build -> Authentication Menu di autenticazione di Firebase
    2. Clicca sul Sign-in method botton Metodo di autenticazione Firebase per il pulsante di accesso
    3. Clicca sul Google provider Metodo di autenticazione Firebase per il provider Google
    4. Clicca sul Web SDK configuration pulsante Metodo di autenticazione Firebase per il provider Web SDK Configurazione del client
    5. Copia il Web client ID. Questo sarà il tuo webClientId in initialize metodo di autenticazione del plugin. Metodo di autenticazione Firebase per il provider Web SDK Configurazione del client Web ID
  11. Modifica il file Info.plist del tuo app

    1. Apri Xcode e trova il Info.plist file

      Il file Info.plist nel navigatore del progetto Xcode
    2. Clicca con il tasto destro su questo file e aprilo come fonte code

      Menu a tendina con l'opzione Apri come fonte Code
    3. In fondo al tuo Plist file, vedrai una </dict> tag

      Tag di chiusura nel file Info.plist
    4. Inserisci il seguente frammento prima del tag di chiusura </dict> Modifica il file Info.plist del tuo app

      File Info.plist con schemi di URL code inseriti prima della chiusura della tag di dizionario
      <key>CFBundleURLTypes</key>
      <array>
      <dict>
      <key>CFBundleURLSchemes</key>
      <array>
      <string>YOUR_DOT_REVERSED_IOS_CLIENT_ID</string>
      </array>
      </dict>
      </array>
      <key>GIDClientID</key>
      <string>YOUR_IOS_CLIENT_ID.apps.googleusercontent.com</string>
    5. Cambia il YOUR_DOT_REVERSED_IOS_CLIENT_ID a il valore copiato nel passo 9 (lo schema di URL iOS)

      File Info.plist con ID del client effettivo inserito nei schemi di URL
  12. Cambia il YOUR_IOS_CLIENT_ID a l'ID del client iOS che hai copiato nel passo 9

  13. Salva il file con Command + S

  14. Modifica il AppDelegate.swift

    1. Apri il file AppDelegate

      Il file AppDelegate.swift nel navigatore del progetto Xcode
    2. Inserisci import GoogleSignIn All'inizio del file

      Il file AppDelegate.swift con l'import di GoogleSignIn aggiunto
    3. Trova la func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) La funzione

      La funzione di apertura dell'applicazione openURL in AppDelegate
    4. Modifica la funzione per farla assomigliare a questa

      func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool {
      // Called when the app was launched with a url. Feel free to add additional processing here,
      // but if you want the App API to support tracking app url opens, make sure to keep this call
      var handled: Bool
      handled = GIDSignIn.sharedInstance.handle(url)
      if handled {
      return true
      }
      return ApplicationDelegateProxy.shared.application(app, open: url, options: options)
      }
      Funzione di apertura dell'applicazione modificata con gestione di GoogleSignIn
    5. Salva il file con Command + S

  15. Utilizza il login Google nel tuo app

    A questo punto sei pronto a utilizzare il login Google nel tuo app. Per favore utilizza il authUtils.ts file dell'applicazione di esempio per autenticarti con Google.

Lo utente verrà creato automaticamente in Firebase Auth al primo accesso

Se l'autenticazione si blocca o fallisce:

  • Verifica che idToken l'audience corrisponda al tuo ID del client web Firebase
  • Verifica che Google Sign-In sia abilitato nel Firebase Console
  • Assicurati che Info.plist abbia i corretti schemi di URL e GIDClientID
  • Verifica iOSServerClientId corrisponde al tuo ID del client web
  • Rivedi l' esempio di applicazione code per riferimento

Se stai utilizzando Firebase Google Login su iOS per pianificare l'autenticazione e i flussi degli account, connettilo con Utilizzando @capgo/capacitor-login-social per la capacità nativa in Utilizzando @capgo/capacitor-login-social @capgo/capacitor-login-social per il dettaglio di implementazione in @capgo/capacitor-login-social @capgo/capacitor-passkey per il dettaglio di implementazione in @capgo/capacitor-passkey @capgo/capacitor-biometric-nativo per il dettaglio di implementazione in @capgo/capacitor-biometric-nativo, e Autenticazione a due fattori per il dettaglio di implementazione in Autenticazione a due fattori.