Saltar al contenido

Inicio de sesión con Google de Firebase en iOS

GitHub

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

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

    Vista general de 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 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 el navegador de proyectos 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 para 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

    Botón Descargar Firebase Add App iOS Sin Saltarse
  6. Saltarse el Add firebase SDK paso

    Botón Descargar Firebase Add App iOS Sin Saltarse Firebase SDK
  7. Saltarse el Add initialization code paso

    Botón Inicializar Add Firebase Add App iOS Sin Saltarse Code
  8. Haga clic en el Continue to console botón

    Continuar con Firebase en iOS Ir al Panel de Control
  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 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 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 el iOS client for [YOUR_APP_ID] (auto created by Google Service) en mi caso es sociallogin-tutorial-app.

      Credenciales de cliente iOS de Google Cloud Console
    5. Copia el Client ID tanto como el iOS URL schemeque respectivamente serán tus iOSClientId y YOUR_DOT_REVERSED_IOS_CLIENT_ID.

      ID de cliente de Google Cloud Console 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 Metodo de inicio de sesión de autenticación de Firebase
    3. Haga clic en el Google proveedor Proveedor de inicio de sesión de autenticación de Firebase Google
    4. Haga clic en el Web SDK configuration botón Proveedor de inicio de sesión de autenticación de Firebase Web SDK Configuración del botón
    5. Copie el Web client ID. Esto será su webClientId en el initialize método de inicio de sesión del plugin. Proveedor de inicio de sesión de autenticación de Firebase Web SDK Configuración del ID de cliente de la aplicación web
  11. Modifica el archivo Info.plist de tu aplicación

    1. Abre Xcode y encuentra el 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 de diccionario en el archivo Info.plist
    4. Inserta el siguiente fragmento justo antes de la etiqueta de cierre </dict> Modifica el archivo Info.plist de tu aplicación

      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 el YOUR_DOT_REVERSED_IOS_CLIENT_ID por el valor copiado en el paso 9 (el esquema de URL de iOS)

      Info.plist con el ID de cliente invertido real insertado en los esquemas de URL
  12. Cambiar el YOUR_IOS_CLIENT_ID por el 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 Al principio del archivo

      AppDelegate.swift con el import de GoogleSignIn agregado
    3. Encuentre la 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 apertura de aplicación modificada con manejo de GoogleSignIn
    5. Guardar el archivo con Command + S

  15. Usando la autenticación de Google en tu aplicación

    En este paso, ya estás listo para usar la autenticació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 en la primera autenticación

Si la autenticación se atasca o falla:

  • Verificar que idToken el público coincida con tu ID de cliente web de Firebase
  • Verifique que Google Sign-In esté habilitado en la Consola de Firebase
  • Asegúrese de que Info.plist tenga los esquemas de URL y GIDClientID correctos
  • 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, conecte 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-útil para el detalle de implementación en @capgo/capacitor-clave-útil @capgo/capacitor-biometría-nativa para el detalle de implementación en @capgo/capacitor-biometría-nativa, y Autenticación en dos factores para el detalle de implementación en Autenticación en dos factores.