Saltar al contenido

Inicio de sesión de Google de Firebase en iOS

GitHub

Esta guía te ayudará a integrar el inicio de sesión de Google con la autenticación de Firebase en iOS. Supongo que ya has completado el __CAPGO_KEEP_0__.

  1. Ve a la visión general de tu proyecto en console.cloud.google.com

    Resumen 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 iOS
  4. Rellene la primera parte del formulario

    1. Rellene el Apple bundle ID
      1. Abra Xcode en su proyecto de aplicación usando npx cap open ios
      2. Haga doble clic en App Objetivo de aplicación en el navegador de proyectos de Xcode
      3. Asegúrese de que esté en Targets -> App Sección de objetivos en Xcode con la aplicación seleccionada
      4. Encuentre su Bundle Identifier Campo de identificador de paquete en Xcode en configuración de proyecto
      5. Copie el Bundle Identifier y pegue en la consola de Firebase Campo de identificador de paquete iOS de Firebase Add App
    2. Haga clic en el Register app botón Botón de registro de iOS de Firebase Add App
  5. Saltar el Download config file paso

    Botón de descarga de Firebase Add App iOS Saltar
  6. Saltar el Add firebase SDK paso

    Botón de descarga de Firebase Add App iOS Saltar Firebase SDK
  7. Saltate el Add initialization code paso

    Agregar Firebase a iOS Saltar Inicialización Code Botón
  8. Haga clic en el Continue to console botón

    Agregar Firebase a iOS Continuar a la Consola Botón
  9. Obtenga su ID de cliente de iOS y su YOUR_DOT_REVERSED_IOS_CLIENT_ID

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

    2. Encuentre su proyecto

      1. Haga clic en el selector de proyecto Selector de proyecto de la consola de Google Cloud
      2. Busque su proyecto por el nombre exacto de su proyecto de Firebase y haga clic en él. En mi caso, es sociallogin-tutorial-app. Selector de Proyecto de Firebase
    3. Abra la barra de búsqueda y abra credentials

      1. Abra la barra de búsqueda Barra de búsqueda del Console de Cloud de Google
      2. Busque credentials y haga clic en el APIs and Services uno (número 2 en la captura de pantalla) Barra de búsqueda de credenciales del Console de Cloud de Google
    4. Haga 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 iOS del Console de Cloud de Google
    5. Copie el Client ID as well as el iOS URL scheme. Esto será respectivamente tu iOSClientId y YOUR_DOT_REVERSED_IOS_CLIENT_ID.

      Credenciales del Console de Cloud de Google ID de Cliente iOS Copie
  10. Obtén tu ID de cliente web

    1. Vuelve a la consola de Firebase y ve a Build -> Authentication Menú de autenticación de Firebase
    2. Haz clic en el Sign-in method botón Botón de método de inicio de sesión de autenticación de Firebase
    3. Haz clic en el Google proveedor Proveedor de inicio de sesión de autenticación de Firebase Google
    4. Haz clic en el Web SDK configuration botón Botón de configuración 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. Método de inicio de sesión de Firebase Authentication Web SDK Configuración del cliente web ID
  11. Modifique la información de su archivo Info.plist

    1. Abra Xcode y busque el Info.plist archivo

      archivo Info.plist en el navegador de proyectos de Xcode
    2. Haga clic con el botón derecho en este archivo y abra como fuente code

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

      Etiqueta de cierre de diccionario en archivo Info.plist
    4. Inserte el siguiente fragmento justo antes de la etiqueta de cierre </dict> Etiqueta de cierre de diccionario en archivo Info.plist con esquemas de URL __CAPGO_KEEP_0__ insertados antes de la etiqueta de cierre

      Info.plist with URL schemes code inserted before closing dict 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. el valor copiado en el paso 9 (el esquema de URL de iOS) YOUR_DOT_REVERSED_IOS_CLIENT_ID Info.plist con el ID de cliente real insertado en los esquemas de URL

      Advertencia
  12. Cambie el YOUR_IOS_CLIENT_ID por el ID del cliente iOS que copió en el paso 9

  13. Guardar el archivo con Command + S

  14. Modifique el AppDelegate.swift

    1. Abrir el AppDelegate

      Archivo AppDelegate.swift en el navegador de proyectos de Xcode
    2. Inserte import GoogleSignIn en la parte superior del 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 de la aplicación original 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 aplicación modificada 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:

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

Sigue adelante desde Firebase Google Login en iOS

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

Si estás utilizando Firebase Google Login en iOS para planificar la autenticación y los flujos de cuenta, conecta 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-privada para el detalle de implementación en @capgo/capacitor-clave-privada, @capgo/capacitor-autenticación-biometrica-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.