Saltar al contenido

Firebase Google Login en iOS

Esta guía le ayudará a integrar el inicio de sesión de Google con la autenticación de Firebase en iOS. Supongo que ya ha completado los pasos previos. Configuración general de Firebase Google.

  1. Dirígete a la vista general de tu proyecto en console.cloud.google.com

    Vista general del proyecto de Firebase
  2. Haz clic en el Add app botón

    Botón de agregar aplicación de Firebase Botón de agregar aplicación de Firebase
  3. Seleccionar iOS

    Botón de agregar aplicación de Firebase para iOS
  4. Rellena la primera parte del formulario

    1. Rellena Apple bundle ID
      1. Abre Xcode en tu proyecto de aplicación npx cap open ios
      2. Haz doble clic en App Objetivo de aplicación en navegador de proyecto de Xcode
      3. Asegúrate de que estás en Targets -> App Sección de objetivos en Xcode con App seleccionada
      4. Encuentra tu Bundle Identifier Campo de identificador de paquete en ajustes de proyecto de Xcode
      5. Copia el Bundle Identifier y pégalo en la consola de Firebase Campo de identificador de paquete de Firebase Add App iOS
    2. Haz clic en el Register app botón Agregar App de Firebase iOS Botón de Registro
  5. Saltarse el Download config file paso

    Agregar App de Firebase iOS Botón de Saltear Descarga
  6. Saltarse el Add firebase SDK paso

    Agregar App de Firebase iOS Botón de Saltear Descarga de Firebase SDK
  7. Saltarse el Add initialization code paso

    Agregar App de Firebase iOS Botón de Saltear Inicialización Code
  8. Haga clic en el Continue to console botón

    Continuar a la consola de Firebase para iOS
  9. Obtén tu ID de cliente de iOS y tu YOUR_DOT_REVERSED_IOS_CLIENT_ID

    1. Ir a la consola de Google Cloud en console.cloud.google.com

    2. Encuentra tu proyecto

      1. Haz clic en el selector de proyecto Selector de proyecto de la consola de Google Cloud
      2. Busca tu proyecto en la barra de búsqueda de la consola de Google Cloud y haz clic en él. En mi caso, es sociallogin-tutorial-app. Selector de proyecto de Firebase
    3. Abrir la barra de búsqueda y abrir credentials

      1. Abrir la barra de búsqueda Barra de búsqueda de la consola de Google Cloud
      2. Buscar por credentials y haz clic en el APIs and Services el número 2 en la captura de pantalla Buscar credenciales de Google Cloud Console
    4. Haz clic en iOS client for [YOUR_APP_ID] (auto created by Google Service) uno. En mi caso es sociallogin-tutorial-app.

      Credenciales de cliente iOS de Google Cloud Console
    5. Copiar el Client ID así como el iOS URL scheme. Esto será respectivamente tu iOSClientId y YOUR_DOT_REVERSED_IOS_CLIENT_ID.

      ID de cliente de Cloud Console de Google iOS Copiar
  10. Obtenga su ID de cliente web

    1. Vaya a la consola de Firebase y vaya a Build -> Authentication Menú de autenticación de Firebase
    2. Haga clic en el Sign-in method botón Método de inicio de sesión de autenticación de Firebase Botón de método de inicio de sesión
    3. Haga clic en el Google proveedor Proveedor de inicio de sesión de autenticación de Firebase Método de inicio de sesión Google
    4. Haga clic en el Web SDK configuration botón Botón de configuración del método de inicio de sesión de autenticación de Firebase Web SDK
    5. Copie el Web client ID. Esto será su webClientId en el initialize método del plugin. Botón de configuración del método de inicio de sesión de autenticación de Firebase Web SDK ID de cliente de cliente web
  11. Modifica el archivo Info.plist de tu aplicación

    1. Abre Xcode y encuentra el archivo Info.plist archivo

      archivo Info.plist en el navegador de proyectos de Xcode
    2. Haz clic derecho en este archivo y abre como fuente code

      Menú de clic derecho mostrando la opción Abrir como fuente Code
    3. En la parte inferior de tu Plist archivo, verás una </dict> etiqueta

      Etiqueta de cierre en el archivo Info.plist
    4. Inserta el siguiente fragmento justo antes de la etiqueta de cierre </dict> tag

      Info.plist con esquemas de URL code insertados antes de la etiqueta de cierre de diccionario
      <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. Cambiar a YOUR_DOT_REVERSED_IOS_CLIENT_ID al valor copiado en el paso 9 (el esquema de URL de iOS)

      Info.plist con el ID de cliente real insertado en los esquemas de URL
  12. Cambiar a YOUR_IOS_CLIENT_ID al ID de cliente de iOS que copió en el paso 9

  13. Guardar el archivo con Command + S

  14. Modificar el AppDelegate.swift

    1. Abrir el AppDelegate

      Archivo AppDelegate.swift en el navegador de proyectos de Xcode
    2. Insertar import GoogleSignIn en la parte superior del archivo

      AppDelegate.swift con GoogleSignIn import agregado
    3. Encuentre el func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) función

      La función de apertura original de la aplicación openURL en AppDelegate
    4. Modificar la función para que se vea así

      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)
      }
      Función de aplicación modificada openURL con manejo de GoogleSignIn
    5. Guardar el archivo con Command + S

  15. Usando el inicio de sesión de Google en tu aplicación

    En este paso, ya estás listo para usar el inicio de sesión de Google en tu aplicación. Por favor, utiliza el authUtils.ts archivo del ejemplo de aplicación para autenticarte con Google.

El usuario se creará automáticamente en Firebase Auth al primer inicio de sesión

Si la autenticación se atasca o falla:

  • Verifica que idToken el audiencia coincida con tu ID de cliente web de Firebase
  • Verifique que Google Sign-In esté habilitado en Firebase Console
  • Asegúrese de que Info.plist tenga los esquemas de URL correctos y GIDClientID
  • Verificar iOSServerClientId coincida con su ID de cliente web
  • Revisar el ejemplo de aplicación code para referencia

Siga adelante desde Firebase Google Login en iOS

Sección titulada “Siga adelante desde Firebase Google Login en iOS”

Si está utilizando Firebase Google Login en iOS para planificar la autenticación y los flujos de cuenta, conéctelo con Usando @capgo/capacitor-login-social para la capacidad nativa en Usando @capgo/capacitor-login-social, @capgo/capacitor-login-social para el detalle de implementación en @capgo/capacitor-login-social, @capgo/capacitor-passkey para el detalle de implementación en @capgo/capacitor-passkey, @capgo/capacitor-biométrico-nativo para el detalle de implementación en @capgo/capacitor-biométrico-nativo, y Autenticación de dos factores para el detalle de implementación en Autenticación de dos factores.