Saltar al contenido

Esta guía lo ayudará a integrar el inicio de sesión Google con la autenticación Firebase en iOS. Supongo que ya ha completado la configuración general Firebase Google.

  1. Vaya a la descripción general de su proyecto en console.cloud.google.com

  2. Haga clic en el botón “Agregar aplicación”.

    Firebase Botón Agregar aplicación

    Es posible que tengas que buscar aquí este botón. Esto se aplica solo si ya ha creado una aplicación diferente en la consola Firebase.

    Firebase Botón Agregar aplicación
  3. Seleccione iOS

    Firebase Agregar aplicación iOS Botón
  4. Complete la primera parte del formulario.

    1. Llene el Apple bundle ID
      1. Abra Xcode en su aplicación usando npx cap open ios
      2. Haga doble clic en App Destino de la aplicación en el navegador de proyectos Xcode
      3. Asegúrate de estar en Targets -> App Sección de objetivos en Xcode con la aplicación seleccionada
      4. Encuentre su “Identificador de paquete” Campo Identificador de paquete en la configuración del proyecto Xcode

        La identificación que se muestra aquí será diferente de la que usaré en el resto de la guía. Usaré app.capgo.plugin.SocialLogin para el resto de la guía.

      5. Copie el Identificador de paquete y péguelo en la consola Firebase Firebase Agregar aplicación iOS Campo de ID de paquete
    2. Haga clic en el botón “Registrar aplicación”. Firebase Agregar aplicación iOS Botón Registrar
  5. Omita el paso Descargar archivo de configuración

    Firebase Agregar aplicación iOS Omitir botón de descarga
  6. Omita el paso Add firebase SDK

    Firebase Agregar aplicación iOS Omitir descarga Firebase SDK Botón
  7. Omita el paso “Agregar código de inicialización”.

  8. Haga clic en el botón “Continuar a la consola”.

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

    1. Vaya a Google Cloud Console en console.cloud.google.com

    2. Encuentra tu proyecto

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

      1. Abre la barra de búsqueda. Google Barra de búsqueda de Cloud Console
      2. Busque credentials y haga clic en “API y servicios” (número 2 en la captura de pantalla) Google Búsqueda de credenciales de Cloud Console
    4. Haga clic en el iOS client for [YOUR_APP_ID] (auto created by Google Service). En mi caso es sociallogin-tutorial-app.

    5. Copie el ID de cliente así como el iOS URL scheme. Estos serán respectivamente su iOSClientId y YOUR_DOT_REVERSED_IOS_CLIENT_ID.

      Pasará iOSClientId en el método initialize del complemento, mientras utilizará YOUR_DOT_REVERSED_IOS_CLIENT_ID en el archivo Info.plist de su aplicación, como se explica en la siguiente parte de esta guía. :::Google Credenciales de Cloud Console iOS Copia de ID de cliente

  10. Obtenga su ID de cliente web

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

    1. Abra Xcode y busque el archivo Info.plist

      Archivo info.plist en el navegador de proyectos Xcode
    2. Haga clic derecho en este archivo y ábralo como código fuente.

      Menú contextual que muestra la opción Abrir como código fuente
    3. En la parte inferior de su archivo Plist, verá una etiqueta </dict>

      Cerrar etiqueta dict en el archivo Info.plist
    4. Inserte el siguiente fragmento justo antes de la etiqueta de cierre </dict>

      Info.plist con código de esquemas de URL insertado antes de cerrar la etiqueta dict
      <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. Cambie YOUR_DOT_REVERSED_IOS_CLIENT_ID al valor copiado en el paso 9 (el esquema de URL iOS)

      :::precaución Asegúrese de que este valor COMIENCE con com.googleusercontent.apps :::

  12. Cambie el YOUR_IOS_CLIENT_ID al iOS ID de cliente que copió en el paso 9.

  13. Guarde el archivo con Comando + S

  14. Modificar el AppDelegate.swift

    1. Abra AppDelegate

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

      AppDelegate.swift con importación GoogleSignIn agregada
    3. Encuentra la función func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:])

      Función openURL de la aplicación original en AppDelegate
    4. Modifique 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 openURL de la aplicación modificada con manejo de GoogleSignIn
    5. Guarde el archivo con Comando + S

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

    En este paso, está listo para utilizar el inicio de sesión Google en su aplicación. Utilice el archivo authUtils.ts de la aplicación de ejemplo para autenticarse con Google.

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

Si la autenticación se bloquea o falla:

  • Verifique que la audiencia idToken coincida con su ID de cliente web Firebase
  • Verifique que Google el inicio de sesión esté habilitado en la consola Firebase
  • Asegúrese de que Info.plist tenga los esquemas de URL y GIDClientID correctos
  • Verifique que iOSServerClientId coincida con su ID de cliente web
  • Revise el código de aplicación de ejemplo como referencia.