Saltare al contenuto

Firebase Google Login su iOS

GitHub

Questa guida ti aiuterà a integrare l'accesso con Google con l'autenticazione Firebase su iOS. Suppongo che tu abbia già completato la configurazione generale di Firebase Google. Nota.

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

    Panoramica del Progetto Firebase
  2. Clicca sul Add app tasto

    Aggiungi App Firebase Aggiungi App Firebase
  3. Seleziona iOS

    Aggiungi App Firebase pulsante per iOS
  4. Riempi la prima parte del modulo

    1. Riempi il Apple bundle ID
      1. Apri Xcode per il tuo app usando npx cap open ios
      2. Doppio clic su App App target nel navigatore del progetto Xcode
      3. Assicurati di essere su Targets -> App Sezione Targets in Xcode con App selezionata
      4. Trova il tuo Bundle Identifier Campo Identificatore Bundle in Xcode impostazioni del progetto
      5. Copia il Bundle Identifier e incollalo nel console Firebase Campo ID Bundle iOS di Firebase Add App
    2. Clicca sul Register app tasto Firebase Add App iOS Button di registrazione
  5. Saltare il Download config file passaggio

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

    Aggiungi App Firebase iOS Salta il Download di Firebase SDK Button
  7. Salta lo Add initialization code step

    Aggiungi App Firebase iOS Salta l'Inizializzazione Code Button
  8. Clicca sul Continue to console button

    Continua a Console Button
  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 Selezionatore di Progetto Google Cloud Console
      2. Cerca il tuo progetto esattamente con il nome del tuo progetto Firebase e clicca su di esso. Nel mio caso, è sociallogin-tutorial-app. Selezionatore di Progetto Firebase Progetto
    3. Apri la barra di ricerca e apri credentials

      1. Apri la barra di ricerca Barra di Ricerca Google Cloud Console
      2. Cerca credentials e clicca sul APIs and Services uno (numero 2 nella schermata) Barra di Ricerca 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.

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

      Google Cloud Console Credentials ID Client iOS Copia
  10. Ottieni il tuo ID client web

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

    1. Apri Xcode e trova il Info.plist file

      il file Info.plist nel navigatore dei progetti di Xcode
    2. Fai clic destro su questo file e apriolo come fonte code

      Menu di clic destro mostrando l'opzione Apri come fonte Code
    3. At the bottom of your file, you will see un tag Plist tag di chiusura in file Info.plist </dict> tag di chiusura in file Info.plist

      Inserisci il frammento seguente prima del tag di chiusura
    4. Info.plist con schemi URL __CAPGO_KEEP_0__ inseriti prima del tag di chiusura </dict> Copia nel portapenna

      Info.plist with URL schemes code inserted before closing dict tag
      <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. Attenzione YOUR_DOT_REVERSED_IOS_CLIENT_ID Info.plist con ID client reale inserito nei schemi URL

      Info.plist con ID client reale inserito nei schemi URL
  12. Cambia il YOUR_IOS_CLIENT_ID a 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 in cima al file

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

      Funzione di apertura dell'applicazione originale 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 con Google nel tuo app

    In questo passaggio, sei pronto ad utilizzare il login con Google nel tuo app. Per favore utilizza il file authUtils.ts del file di esempio dell'app per autenticarti con Google.

The user verrà creato automaticamente in Firebase Auth all'atto del primo accesso

Se l'autenticazione si blocca o fallisce:

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

Se stai utilizzando Firebase Google Login su iOS per pianificare l'autenticazione e le flussi di 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-autenticazione-biometrica nativa per i dettagli di implementazione in @capgo/capacitor-autenticazione-biometrica nativa, e Autenticazione a due fattori per i dettagli di implementazione in Autenticazione a due fattori.