Saltar al contenido

Firebase Google Login en iOS

GitHub

Esta guía te ayudará a integrar Google Sign-In con Firebase Authentication en iOS. Supongo que ya has completado el Configuración general de Firebase Google.

  1. Vaya a su visión general del proyecto en console.cloud.google.com

    Visión general del proyecto de Firebase
  2. Haga 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 el Apple bundle ID
      1. Abre Xcode en tu aplicación usando 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. Ve 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 por el nombre exacto de tu proyecto de Firebase y haz clic en él. En mi caso, es sociallogin-tutorial-app. Selector de proyecto de Firebase Proyecto
    3. Abre la barra de búsqueda y abre credentials

      1. Abre 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) el. 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. Vuelva 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
    3. Haga clic en el Google proveedor Proveedor de inicio de sesión de Autenticación de Firebase Método 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 Cliente de la web ID
  11. Modifica el archivo Info.plist de tu app

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

      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 file, verás una </dict> tag

      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 del 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 a el 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 copiaste 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 URL 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 apertura de aplicación modificada con manejo de GoogleSignIn
    5. Guardar el archivo con Command + S

  15. Usar 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 archivo authUtils.ts del ejemplo de aplicación para autenticarte con Google. El usuario se creará automáticamente en Firebase Auth al primer inicio de sesión

Solución de problemas

Sección titulada “Solución de problemas”

Si la autenticación se atasca o falla:

Verificar que

  • el audiencia coincida con tu ID de cliente web de Firebase idToken __CAPGO_KEEP_0__
  • Verifique que el inicio de sesión de Google esté habilitado en la Consola de Firebase
  • 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 el inicio de sesión de Google de Firebase en iOS

Título de la sección “Siga adelante desde el inicio de sesión de Google de Firebase en iOS”

Si está utilizando el inicio de sesión de Google de Firebase 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-clave-llave para el detalle de implementación en @capgo/capacitor-clave-llave, @capgo/capacitor-biometría-nativa para el detalle de implementación en @capgo/capacitor-biometría-nativa, y Autenticación de dos factores para el detalle de implementación en Autenticación de dos factores.