Saltar al contenido

Iniciar sesión de Google de Firebase en iOS

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 setup general de Google de Firebase.

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

    Resumen del Proyecto de Firebase
  2. Haz clic en el Add app botón

    Botón de Aplicación de Firebase Botón de Aplicación de Firebase
  3. Selecciona iOS

    Botón de Aplicación de Firebase para iOS
  4. Rellena la primera parte del formulario

    1. Rellena Apple bundle ID
      1. Abra Xcode en su aplicación usando npx cap open ios
      2. Haga doble clic en App Objetivo de la 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 la configuración de proyectos de Xcode
      5. Copie el Bundle Identifier y pegarlo 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 iOS de Firebase Add App Saltar
  6. Saltar el Add firebase SDK paso

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

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

    Firebase Agregar App iOS Continuar a la Consola de Comandos 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 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. Abrir la barra de búsqueda y abrir credentials

      1. Abrir la barra de búsqueda Buscar en la Consola de Cloud de Google Barra de búsqueda
      2. Buscar por credentials y hacer clic en el APIs and Services uno (número 2 en la captura de pantalla) Buscar en la Consola de Cloud de Google Credenciales Buscar
    4. Hacer clic en el iOS client for [YOUR_APP_ID] (auto created by Google Service) uno. En mi caso, es sociallogin-tutorial-app.

      Credenciales de la Consola de Cloud de Google ID de cliente iOS
    5. Copiar el Client ID además de iOS URL scheme__CAPGO_KEEP_0__ iOSClientId y YOUR_DOT_REVERSED_IOS_CLIENT_ID.

      Credenciales del cliente iOS de la Consola de Cloud
  10. Obtenga su ID de cliente web

    1. Volver a la consola de Firebase y ir a Build -> Authentication Menú de Autenticación de Firebase
    2. Haga clic en el Sign-in method botón Botón de método 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 de Google
    4. Haga clic en el Web SDK configuration Botón de configuración de inicio de sesión de autenticación de Firebase Web __CAPGO_KEEP_0__ Firebase Authentication Sign-in Method Web SDK Configuration Button
    5. provider Web client IDEsto será su webClientId en el initialize método del plugin. Método de inicio de sesión de autenticación de Firebase 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á un </dict> etiqueta

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

      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 real invertido insertado en los esquemas de URL
  12. Cambie a YOUR_IOS_CLIENT_ID al ID del cliente iOS que copió en el paso 9

  13. Guarde el archivo con Command + S

  14. Modifique el AppDelegate.swift

    1. Abra el AppDelegate

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

      AppDelegate.swift con GoogleSignIn importado
    3. Encuentre el func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) función

      Aplicación original 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 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 el idToken audience 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