Saltar al contenido

Inicio de sesión de Google en iOS

GitHub

En esta guía, aprenderá a configurar el inicio de sesión de Google con Capgo Social Login para iOS. Supongo que ya ha leído la guía de 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. Hacer clic en la barra de búsqueda

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

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

      Botón de crear credenciales en la consola de Google
    4. Seleccionar OAuth client ID

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

      Selección de tipo de aplicación con opción de iOS destacada
    6. Encuentre el ID de la cesta

      1. Abrir Xcode

      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 del proyecto de Xcode
      5. Volver a la consola de Google y pegar su Bundle Identifier en Bundle ID

        Campo de identificador de paquete en la forma de creación de cliente iOS de la consola de Google
    7. Opcionalmente, agregue su App Store ID o Team ID en el cliente ID si ha publicado su aplicación en la Tienda de Mac App

    8. Después de llenar todos los detalles, haga clic en create

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

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

      Nueva cliente iOS creada en lista de credenciales
    11. Copie los siguientes datos

      Detalles del ID del cliente mostrando ID del cliente y ID del cliente invertido para copiar
  2. Modifique la configuración de Info.plist de su aplicación

    1. Abra Xcode y busque el archivo 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

      Etiqueta de cierre de diccionario en el archivo Info.plist
    4. Inserte el siguiente fragmento justo antes de la etiqueta de cierre </dict> 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>
    5. Cambiar a YOUR_DOT_REVERSED_IOS_CLIENT_ID al valor copiado en el paso anterior

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

  3. Modificar el AppDelegate.swift

    1. Abrir el 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 la importación de GoogleSignIn agregada
    3. Encuentre el func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) función

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

  4. Configurar 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. Llamar al método de inicialización (debe llamarse solo una vez)

      Configuración básica (modo en línea - recomendado para la mayoría de las aplicaciones):

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

      Configuración avanzada con IDs de cliente adicionales:

      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. Implement the login function. Create a button and run the following code on click

      Implemente la función de inicio de sesión. Crea un botón y ejecute el siguiente __CAPGO_KEEP_0__ al hacer clic

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

      Para modo offline:

      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. Prueba tu aplicación

    1. Construye tu aplicación y ejecútala cap sync

    2. Si has hecho todo correctamente, deberías 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 mostrando el proceso de inicio de sesión y autenticación exitosa

El plugin de inicio de sesión de Google es incompatible con @capacitor/pantalla-de-privacidadAl utilizar ambos plugins juntos, el visor de inicio de sesión de Google se interrumpirá por la pantalla de privacidad.

Solución alternativa: Llamar await PrivacyScreen.disable(); antes de llamar a la función de inicio de sesión:

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

Continuar desde el inicio de sesión de Google en iOS

Sección titulada “Continuar desde el inicio de sesión de Google en iOS”

Si está utilizando Inicio de sesión de Google en iOS To plan autenticación y flujos de cuenta, conecte 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-passkey Para el detalle de implementación en @capgo/capacitor-passkey, @capgo/capacitor-biométrica-nativa Para el detalle de implementación en @capgo/capacitor-biométrica-nativa, y Autenticación de dos factores Para el detalle de implementación en Autenticación de dos factores.