Saltare al contenuto

Firebase Google Login su iOS

GitHub

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

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

    Panoramica del progetto di Firebase
  2. Clicca sul Add app tasto

    Tasto di aggiunta dell'app di Firebase Pulsante Aggiungi App di Firebase
  3. Seleziona iOS

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

    1. Riempi il Apple bundle ID
      1. Apri Xcode nel tuo progetto di app npx cap open ios
      2. Clicca due volte su App Sezione Target in Xcode con App selezionata
      3. Assicurati di essere su Targets -> App Sezione Target 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 Firebase Aggiungi App iOS Campo Identificatore Bundle
    2. Clicca sul Register app bottoni Firebase Aggiungi App iOS Registro Bottoni
  5. Saltare lo Download config file step

    Aggiungi App Firebase iOS Saltare il Bottone di Download
  6. Saltare lo Add firebase SDK step

    Aggiungi App Firebase iOS Saltare il Bottone di Download Firebase SDK
  7. Saltare lo Add initialization code step

    Aggiungi App Firebase iOS Saltare l'Inizializzazione del Bottone Code
  8. Clicca sul Continue to console bottone

    Aggiungi App Firebase iOS Continua alla Console del Bottone
  9. Ottenere il tuo ID del 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 esattamente con il nome 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 uno (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 di client iOS di Google Cloud Console
    5. Copia il Client ID insieme a iOS URL scheme. Questo sarà rispettivamente il tuo iOSClientId e YOUR_DOT_REVERSED_IOS_CLIENT_ID.

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

    1. Torna indietro al console di Firebase e vai a Build -> Authentication Menu di autenticazione Firebase
    2. Clicca sul Sign-in method tasto Button di autenticazione Firebase Sign-in Method
    3. Clicca sul Google provider Metodo di accesso di autenticazione Firebase Sign-in Google Provider
    4. Clicca sul Web SDK configuration tasto Metodo di accesso di autenticazione Firebase Sign-in Web SDK Configurazione del pulsante
    5. Copia il Web client ID. Questo sarà il tuo webClientId nel initialize metodo del plugin. Metodo di accesso di autenticazione Firebase Sign-in Web SDK Configurazione del client web ID
  11. Modifica le impostazioni 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 contestuale mostrante l'opzione Apri come fonte Code
    3. Al fondo del tuo Plist file, vedrai un </dict> tag

      Tag di chiusura in file Info.plist
    4. Inserisci il seguente frammento prima del tag di chiusura </dict> Info.plist con schemi URL __CAPGO_KEEP_0__ inseriti prima del tag di chiusura

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

      Info.plist con il client ID reale inserito negli schemi URL
  12. Modifica il YOUR_IOS_CLIENT_ID al Client ID di iOS che hai copiato nel passo 9

  13. Salva il file con Command + S

  14. Modifica il AppDelegate.swift

    1. Apre il AppDelegate

      File AppDelegate.swift nel navigatore dei progetti di Xcode
    2. Inserisci import GoogleSignIn all'inizio del file

      AppDelegate.swift con l'importazione di GoogleSignIn aggiunta
    3. Cerca il func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) funzione

      Funzione di apertura dell'applicazione originale openURL in AppDelegate
    4. Modifica la funzione per 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 passo, sei pronto ad utilizzare il login Google nel tuo app. Per favore utilizza il authUtils.ts file dell'app di esempio per autenticarti con Google.

L'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
  • Controlla che il Sign-In di Google sia abilitato nel Console di Firebase
  • Assicurati che Info.plist abbia i corretti schemi di URL e GIDClientID
  • Verifica iOSServerClientId corrisponda al tuo ID del client web
  • Rivedi l'applicazione di esempio __CAPGO_KEEP_0__ example app code Prosegui con Firebase Google Login on iOS

Sezione intitolata “Prosegui con Firebase Google Login on iOS”

Se stai utilizzando

Firebase Google Login on iOS per pianificare l'autenticazione e i flussi di account, connettilo con Utilizzando @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-social-login Using @capgo/capacitor-social-login per la capacità nativa in Utilizzare @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.