Saltar al contenido

Inicio de sesión de Google en iOS

GitHub

En esta guía, aprenderás a configurar el inicio de sesión de Google con Capgo Social Login para iOS. Supongo que ya has leído la guía de configuración general. Configuración general.

En esta parte, aprenderás a configurar el inicio de sesión de Google en iOS.

  1. Crear un ID de cliente de iOS en la consola de Google

    1. Haga clic en la barra de búsqueda

      Barra de búsqueda de la consola de Google
    2. Buscar y hacer clic en credentials y hacer clic en el APIs and Services uno (número 2 en la captura de pantalla)

      Resultados de búsqueda mostrando opción de credenciales con APIs y Servicios destacados
    3. Haga clic en el create credentials

      Botón de credenciales Create en la Consola de Google
    4. Seleccione OAuth client ID

      Opción de ID de cliente OAuth en el menú de creación de credenciales
    5. Seleccione el Application type To iOS

      Tipo de aplicación de selección con opción de iOS destacada
    6. Encuentre el ID de la caja

      1. Abra Xcode

      2. Doble clic en el App

        Objetivo de la aplicación en el navegador de proyectos de Xcode
      3. Asegúrate de estar en Targets -> App

        sección de objetivos en Xcode con la aplicación seleccionada
      4. Encuentra tu Bundle Identifier

        campo de identificador de paquete en la configuración de proyecto de Xcode
      5. Vuelve a la consola de Google y pega tu Bundle Identifier en Bundle ID

        campo de identificador de paquete en la forma de creación de cliente de Google Console para iOS
    7. Opcionalmente, agrega tu App Store ID o Team ID en el cliente ID si has publicado tu aplicación en App Store

    8. Haz clic en create

      botón de crear en la parte inferior de la forma de creación de cliente de iOS
    9. Haz clic OK

      Botón OK en diálogo de confirmación de ID de cliente creado
    10. Abre el cliente iOS recién creado

      Cliente iOS recién creado en lista de credenciales
    11. Copia los siguientes datos

      Detalles del ID de cliente mostrando ID de cliente y ID de cliente invertido para copiar
  2. 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 diccionario de cierre en el 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 de diccionario
      <key>CFBundleURLTypes</key>
      <array>
      <dict>
      <key>CFBundleURLSchemes</key>
      <array>
      <string>YOUR_DOT_REVERSED_IOS_CLIENT_ID</string>
      </array>
      </dict>
      </array>
    5. Cambie el YOUR_DOT_REVERSED_IOS_CLIENT_ID a el valor copiado en el paso anterior

      Info.plist con el ID cliente real insertado en los esquemas de URL
    6. Guardar el archivo con Command + S

  3. Modificar el AppDelegate.swift

    1. Abrir el archivo AppDelegate

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

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

  4. Configurar el inicio de sesión de Google en su JavaScript/TypeScript code

    1. Importar SocialLogin y Capacitor

      import { SocialLogin } from '@capgo/capacitor-social-login';
      import { Capacitor } from '@capacitor/core';
    2. Copiar a portapapeles

      Llamar al método de inicialización (debe llamarse solo una vez)

      // onMounted is Vue specific
      onMounted(() => {
      SocialLogin.initialize({
      google: {
      iOSClientId: '673324426943-redacted.apps.googleusercontent.com',
      mode: 'online' // Default mode
      }
      })
      })

      Copiar a portapapeles

      onMounted(() => {
      SocialLogin.initialize({
      google: {
      webClientId: 'YOUR_WEB_CLIENT_ID', // Optional: for web platform support
      iOSClientId: 'YOUR_IOS_CLIENT_ID', // Required: from step 1
      iOSServerClientId: 'YOUR_WEB_CLIENT_ID', // Optional: same as webClientId, needed for some advanced features
      mode: 'online' // 'online' or 'offline'
      }
      })
      })
    3. Implemente la función de inicio de sesión. Crea un botón y ejecuta el siguiente code al hacer clic

      Para modo en línea:

      const res = await SocialLogin.login({
      provider: 'google',
      options: {}
      })
      // handle the response - contains user data
      console.log(JSON.stringify(res))

      Para modo sin conexión:

      const res = await SocialLogin.login({
      provider: 'google',
      options: {
      forceRefreshToken: true // Recommended for offline mode
      }
      })
      // res contains serverAuthCode, not user data
      // Send serverAuthCode to your backend to get user information
      // Do not call SocialLogin.refresh() in offline mode
      console.log('Server auth code:', res.result.serverAuthCode)
  5. Pruebe su aplicación

    1. Construya su aplicación y ejecute cap sync

    2. Si ha hecho todo correctamente, debería ver el flujo de inicio de sesión de Google funcionando correctamente

      Demostración del flujo de inicio de sesión de Google en iOS que muestra el proceso de inicio de sesión y la autenticación exitosa

Incompatibilidad del plugin de pantalla de privacidad

Sección titulada “Incompatibilidad del plugin de pantalla de privacidad”

El plugin de inicio de sesión de Google es incompatible con @capacitor/privacy-screen. Cuando se utilizan ambos plugins juntos, el navegador de inicio de sesión de Google se interrumpirá por la pantalla de privacidad.

Solución alternativa: Llamar await PrivacyScreen.disable(); contexto: texto fragmento de HTML de una cadena de Capgo UI más larga (clave de página `appflow_migration_step2`). Página/área: Marketing comparativo de Appflow / migración. Rol: Copia de sitio web. Visto en: página ionic-appflow.astro. Preservar términos de producto/marca y términos de desarrollador exactamente. Clave de mensaje `appflow_migration_step2` (Appflow Migration Step2).

import { PrivacyScreen } from '@capacitor/privacy-screen';
import { SocialLogin } from '@capgo/capacitor-social-login';
await PrivacyScreen.disable();
await SocialLogin.login({
provider: 'google',
options: {}
});

Copiar a portapapeles (copiar a portapapeles no está disponible en este contexto, pero puedes copiar el texto manualmente y pegarlo en el portapapeles). Por favor, continúa desde el inicio de sesión de Google en iOS

Sección titulada “Continúa desde Google Login en iOS”

Si estás utilizando Google Login en iOS para planificar la autenticación y los flujos de cuenta, conecta 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 Autenticación en dos factores para el detalle de implementación en Autenticación en dos factores.