Saltare alla navigazione principale

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 la configurazione generale di Firebase Google. Nota.

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

    Panoramica del Progetto Firebase
  2. Clicca sul Add app bottoni

    Bottone Aggiungi App di Firebase Bottone Aggiungi App di Firebase
  3. Seleziona iOS

    Bottone Aggiungi App iOS di Firebase
  4. Compilare la prima parte del modulo

    1. Compilare la Apple bundle ID
      1. Apri Xcode per il tuo app usando npx cap open ios
      2. Clicca due volte 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 Firebase Campo ID Bundle iOS Aggiungi App
    2. Clicca sul Register app tasto Firebase Bottone Registra App iOS Aggiungi
  5. Saltare il Download config file passaggio

    Firebase Bottone Scarica Skip iOS Aggiungi App
  6. Saltare il Add firebase SDK passaggio

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

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

    Aggiungi App Firebase iOS Continua alla 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 (numero 1 sulla schermata) Selezionatore di Credenziali Google Cloud Console
    4. Clicca sul iOS client for [YOUR_APP_ID] (auto created by Google Service) (numero 1. Nel mio caso, è) sociallogin-tutorial-app.

      Google Cloud Console Credenziali ID Client iOS
    5. Copia il Client ID nonché le iOS URL schemeQuesto sarà rispettivamente il tuo iOSClientId e YOUR_DOT_REVERSED_IOS_CLIENT_ID.

      Google Cloud Console Credenziali ID Client iOS Copia
  10. Ottenere il tuo ID client web

    1. Torna 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 autenticazione Google di Firebase
    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 scelta rapida con l'opzione Apri come fonte Code
    3. At the bottom of your file, you will see una tag Plist file, you will see a tag </dict> tag

      Closing dict tag in Info.plist file
    4. Inserisci il seguente frammento prima della chiusura della tag </dict> Info.plist with URL schemes __CAPGO_KEEP_0__ inserted before closing dict tag

      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. a il valore copiato nel passo 9 (lo schema URL iOS) YOUR_DOT_REVERSED_IOS_CLIENT_ID Info.plist with actual reversed client ID inserted in URL schemes

      Attenzione
  12. Modifica il YOUR_IOS_CLIENT_ID a quello dell'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

      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 di Google nel tuo app

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

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

Se l'autenticazione si blocca o fallisce:

  • Verifica che l'audience corrisponda al tuo ID del client web Firebase idToken Controlla che Google Sign-In sia abilitato nel Firebase Console
  • Assicurati che Info.plist abbia i corretti schemi di URL e GIDClientID
  • Verifica che corrisponda al tuo ID del client web
  • Rivista l'applicazione di esempio __CAPGO_KEEP_0__ iOSServerClientId Risoluzione dei problemi
  • Se l'autenticazione si blocca o fallisce: Verifica che l'audience corrisponda al tuo ID del client web Firebase example 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.