Saltare al contenuto

Firebase Google Login su iOS

GitHub

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

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

    Panoramica del progetto Firebase
  2. Clicca sul Add app button

    Pulsante Aggiungi App Firebase Pulsante Aggiungi App Firebase
  3. Scegli iOS

    Aggiungi App Firebase iOS
  4. Compila la prima parte del modulo

    1. Compila Apple bundle ID
      1. Apri Xcode nel tuo progetto di app npx cap open ios
      2. Doppio clic su App App target nel navigatore dei progetti di Xcode
      3. Assicurati di essere su Targets -> App Sezione Target in Xcode con App selezionata
      4. Trova il tuo Bundle Identifier Campo Identificatore Bundle nella configurazione del progetto Xcode
      5. Copia il Bundle Identifier e incollalo nel console di Firebase Campo ID Bundle iOS di Firebase Aggiungi App
    2. Clicca sul Register app bottoni Firebase Aggiungi App iOS Registra Button
  5. Saltare lo Download config file passaggio

    Firebase Aggiungi App iOS Salta Download Button
  6. Saltare lo Add firebase SDK Passo

    Aggiungi App Firebase iOS Salta Download Firebase SDK Button
  7. Salta il Add initialization code Passo

    Aggiungi App Firebase iOS Salta 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. Cerca il tuo progetto

      1. Seleziona il progetto cliccando sul relativo selettore Selettore del 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. Selettore del progetto Firebase del progetto
    3. Apre la barra di ricerca e apre credentials

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

      Google Cloud Console Credentials ID del Client iOS
    5. Copia il Client ID as well as the iOS URL scheme. Questo sarà rispettivamente il tuo iOSClientId e YOUR_DOT_REVERSED_IOS_CLIENT_ID.

      ID del client iOS del Console Cloud Google Copia
  10. Ottieni 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 autenticazione Firebase di accesso al metodo
    3. Clicca sul Google provider Metodo di autenticazione Firebase di accesso Google Provider
    4. Clicca sul Web SDK configuration button Configura il metodo di autenticazione Firebase Sign-in Web SDK
    5. Copia il Web client IDQuesto sarà il tuo webClientId nel initialize metodo del plugin. Configura il metodo di autenticazione Firebase Sign-in Web SDK per il client web
  11. Modifica il file Info.plist del tuo app

    1. Apre 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 apriolo come fonte code

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

      Tag di chiusura in file Info.plist
    4. Inserisci il seguente frammento subito prima della chiusura </dict> etichetta

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

      Info.plist con ID client reale effettivamente inserito nei schemi URL
  12. Modifica 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 At the top of the file

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

      La 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. Utilizzare 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'esempio dell'app per autenticarsi 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 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 il 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 Utilizza @capgo/capacitor-login-social per la capacità nativa in Utilizza @capgo/capacitor-login-social @capgo/capacitor-login-social per il dettaglio di implementazione in @capgo/capacitor-login-social @capgo/capacitor-chiave-pass per i dettagli di implementazione in @capgo/capacitor-passkey, @capgo/capacitor-autenticazione-biometrica per i dettagli di implementazione in @capgo/capacitor-native-biometric, e Autenticazione a due fattori per i dettagli di implementazione in Autenticazione a due fattori.