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.

Passaggi di configurazione

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

    Panoramica del progetto di Firebase
  2. Clicca sul Add app bottoni di Firebase per aggiungere un'app

    tasto Pulsante Aggiungi App di Firebase
  3. Seleziona iOS

    Pulsante Aggiungi App di Firebase per iOS
  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. Doppio clic 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. Trova il tuo Bundle Identifier Campo Identificatore Bundle in impostazioni progetto Xcode
      5. Copia il Bundle Identifier e incollalo nel console Firebase Campo Identificatore Bundle iOS Firebase Aggiungi App
    2. Clicca sul Register app bottone Aggiungi App Firebase iOS Registro Button
  5. Ssaltare il Download config file passaggio

    Aggiungi App Firebase iOS Scarica Button
  6. Ssaltare il Add firebase SDK passaggio

    Aggiungi App Firebase iOS Scarica Firebase SDK Button
  7. Ssaltare il Add initialization code passaggio

    Firebase Add App iOS Skip Add Initialization Code Button
  8. Clicca sul Continue to console bottone

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

    1. Andare al Console di Google Cloud in console.cloud.google.com

    2. Trovare il tuo progetto

      1. Cliccare 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 credentials e clicca sul APIs and Services il secondo (numero 2 nella schermata) 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 del 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 Google Cloud Console Credenziali iOS Copia
  10. Otterra il tuo ID del client web

    1. Torna indietro al console Firebase e vai a Build -> Authentication Menu di autenticazione Firebase
    2. Clicca sul Sign-in method botton Metodo di autenticazione Firebase per l'accesso alla scheda
    3. Clicca sul Google provider Metodo di autenticazione Firebase per l'accesso al provider Google
    4. Clicca sul Web SDK configuration tasto Metodo di autenticazione Firebase per l'accesso alla scheda Web SDK Configurazione del tasto
    5. Copia il Web client ID. Questo sarà il tuo webClientId in nella initialize metodo del plugin. Metodo di autenticazione Firebase per l'accesso alla scheda Web SDK Configurazione del client ID Web
  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. Fai clic destro su questo file e apriolo come fonte code

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

      Tag di chiusura nel file Info.plist
    4. Inserisci il seguente frammento prima della tag di chiusura </dict> tag di chiusura

      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 al valore copiato nel passo 9 (lo schema di URL iOS)

      Info.plist con il client ID reale inserito nei schemi di URL
  12. Cambia il YOUR_IOS_CLIENT_ID al Client ID 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 originale 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 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 client Firebase web
  • Verifica che Google Sign-In sia abilitato nel Firebase Console
  • Assicurati che Info.plist contenga gli schemi URL corretti e GIDClientID
  • Verifica iOSServerClientId corrisponda al tuo ID del client web
  • Rivedi l' esempio di app code per riferimento

Se stai utilizzando l'accesso Google di Firebase su iOS per pianificare l'autenticazione e le flussi di account, connettilo con Usando @capgo/capacitor-login sociale per la capacità nativa in Usando @capgo/capacitor-login sociale, @capgo/capacitor-login sociale per il dettaglio di implementazione in @capgo/capacitor-login sociale, @capgo/capacitor-passkey per il dettaglio di implementazione in @capgo/capacitor-passkey, @capgo/capacitor-biometria nativa per il dettaglio di implementazione in @capgo/capacitor-biometria nativa, e Autenticazione a due fattori per il dettaglio di implementazione in Autenticazione a due fattori.