Saltare al contenuto

Firebase Google Login su iOS

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

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

    Panoramica del progetto Firebase
  2. Clicca sul Add app bottone

    Firebase Add App Button Firebase Add App Button
  3. Seleziona iOS

    Firebase Add App iOS Button
  4. Compila la prima parte del modulo

    1. Compila il Apple bundle ID
      1. Apri Xcode nel tuo progetto 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 impostazioni del progetto Xcode
      5. Copia il Bundle Identifier e incollalo nel console Firebase Aggiungi App Firebase ID Bundle iOS Campo
    2. Clicca sul Register app Firebase Aggiungi App iOS Bottone di registrazione Ssaltare lo
  5. Firebase Aggiungi App iOS Bottone di download saltare Download config file Ssaltare lo

    Firebase Aggiungi App iOS Bottone di download Firebase __CAPGO_KEEP_0__
  6. Ssaltare lo Add firebase SDK step

    Firebase Add App iOS Skip Download Firebase SDK Button
  7. Firebase Aggiungi App iOS Bottone di download saltare Add initialization code Firebase Aggiungi App iOS Bottone di download saltare

    Aggiungi App Firebase iOS Saltare l'aggiunta dell'inizializzazione Code Button
  8. Clicca sul Continue to console tasto

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

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

    2. Trova il tuo progetto

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

      1. Apri la barra di ricerca Barra di ricerca del Console di Google Cloud
      2. Cerca credentials e clicca sul APIs and Services uno (numero 2 nella schermata) Barra di ricerca dei Credenziali del Console di Google Cloud
    4. Clicca sul iOS client for [YOUR_APP_ID] (auto created by Google Service) uno. Nel mio caso è sociallogin-tutorial-app.

      ID del client iOS del Console di Google Cloud Credenziali
    5. Copia il Client ID insieme alla iOS URL schemeQuesto sarà rispettivamente il tuo iOSClientId e YOUR_DOT_REVERSED_IOS_CLIENT_ID.

      Google Cloud Console Credentials iOS Client ID 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 button Button di metodo di autenticazione Firebase
    3. Clicca sul Google provider Button di metodo di autenticazione Firebase Google
    4. Clicca sul Web SDK configuration Button di configurazione web di metodo di autenticazione Firebase __CAPGO_KEEP_0__ Firebase Authentication Sign-in Method Web SDK Configuration Button
    5. . Questo sarà il tuo Web client IDtoken di accesso webClientId in il metodo del plugin. initialize Metodo di accesso Firebase Authentication Sign-in Web __CAPGO_KEEP_0__ Configurazione del client Web ID Firebase Authentication Sign-in Method Web SDK Configuration Web Client ID
  11. Apri Xcode e trova il

    1. file Info.plist nel navigatore del progetto Xcode Info.plist Fai clic destro su questo file e apriolo come fonte __CAPGO_KEEP_0__

      Menu a tendina destro mostrando l'opzione Apri come fonte __CAPGO_KEEP_0__
    2. Right click this file and open it as source code

      Right-click menu showing Open As Source Code option
    3. tag Plist tag </dict> tag

      Chiudere la voce di dizionario in Info.plist file
    4. Inserisci il frammento seguente subito prima della chiusura </dict> tag

      Info.plist con schemi URL code inseriti prima della chiusura della voce 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 in il valore copiato nel passo 9 (lo schema URL iOS)

      Info.plist con il client ID reale inserito nei schemi 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 GoogleSignIn import aggiunto
    3. Trova il func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) funzione

      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

    In questo passaggio, sei pronto ad utilizzare il login Google nel tuo app. Per favore utilizza il authUtils.ts file dell'applicazione 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
  • Assicurati che Google Sign-In sia abilitato nel Console Firebase
  • Assicurati che Info.plist abbia i corretti schemi di URL e GIDClientID
  • Verifica iOSServerClientId corrisponda al tuo ID del client web
  • Rivista la pagina di esempio code per riferimento