Pulsa para ir al contenido principal

Inicio de sesión de 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 Google.

Pasos de configuración

Paso 1: Configuración
  1. Dirígete a la vista general de tu proyecto en Vista general de proyecto de Firebase

    Haz clic en el
  2. botón Add app botón de agregar aplicación de Firebase

    console.cloud.google.com Botón de agregar aplicación de Firebase
  3. Seleccionar iOS

    Botón de agregar aplicación de Firebase 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 Inicialización Add Firebase Add App iOS Sin Saltarse Code
  8. Haga clic en el Continue to console botón

    Agregar App de Firebase iOS Continuar a la Consola de Botón
  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 uno (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) uno. En mi caso, es sociallogin-tutorial-app.

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

      ID de cliente de Google Cloud Console Credenciales 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 Metodo de inicio de sesión de autenticación de Firebase Botón de inicio de sesión
    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 Google Configuración de cliente web SDK 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 Google Configuración de cliente web SDK ID de cliente 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> 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 el 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 invertido real insertado en los esquemas de URL
  12. Cambiar el YOUR_IOS_CLIENT_ID a el ID de cliente de iOS que copió en el paso 9

  13. Guarda el archivo con Command + S

  14. Modifica el AppDelegate.swift

    1. Abre el AppDelegate

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

      El archivo AppDelegate.swift con GoogleSignIn import agregado
    3. Encuentra 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. Modifica 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 la 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 de la aplicación de ejemplo 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-social-login para la capacidad nativa en Usando @capgo/capacitor-social-login @capgo/capacitor-social-login para el detalle de implementación en @capgo/capacitor-social-login @capgo/capacitor-passkey para el detalle de implementación en @capgo/capacitor-passkey @capgo/capacitor-native-biometric para el detalle de implementación en @capgo/capacitor-native-biometric, y Dos factores de autenticación para el detalle de implementación en Dos factores de autenticación.