Google Login en iOS
Copia un prompt de configuración con los pasos de instalación y la guía completa en markdown para este plugin.
Introducción
Sección titulada “Introducción”En esta guía aprenderás a configurar Google Login con Capgo Social Login para iOS. Asumo que ya has leído la guía de configuración general.
Usar Google Login en iOS
Sección titulada “Uso de Google login en iOS”En esta parte, aprenderás a configurar el inicio de sesión de Google en iOS.
-
Crea un ID de cliente de iOS en la consola de Google
-
Haz clic en la barra de búsqueda
-
Busca
credentialsy haz clic en elAPIs and Servicesuno (número 2 en la captura de pantalla)
-
Haz clic en el
create credentials
-
Selecciona
OAuth client ID
-
Selecciona el
Application typeaiOS
-
Busca el bundle ID
-
Abre Xcode
-
Haz doble clic en
App
-
Asegúrate de estar en la
Targets -> App
-
Busca tu
Bundle Identifier
-
Vuelve a Google Console y pega tu
Bundle IdentifierenBundle ID
-
-
Opcionalmente, añade tu
App Store IDoTeam IDal client ID si has publicado tu app en App Store -
Después de rellenar todos los detalles, haz clic en
create
-
Haz clic
OK
-
Abre el cliente iOS recién creado
-
Copia los siguientes datos
-
-
Modifica el Info.plist de tu app
-
Abre Xcode y busca el
Info.plistarchivo
-
Haz clic derecho en este archivo y elige Open As Source code
-
En la parte inferior de tu
Plistarchivo, verás una</dict>etiqueta
-
Inserta el siguiente fragmento justo antes del cierre de la
</dict>etiqueta
<key>CFBundleURLTypes</key><array><dict><key>CFBundleURLSchemes</key><array><string>YOUR_DOT_REVERSED_IOS_CLIENT_ID</string></array></dict></array> -
Cambiar el
YOUR_DOT_REVERSED_IOS_CLIENT_IDal valor copiado en el paso anterior
-
Guarda el archivo con
Command + S
-
-
Modifica el
AppDelegate.swift-
Abre el AppDelegate
-
Insertar
import GoogleSignInal principio del archivo
-
Busca el
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:])función
-
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 callvar handled: Boolhandled = GIDSignIn.sharedInstance.handle(url)if handled {return true}return ApplicationDelegateProxy.shared.application(app, open: url, options: options)}
-
Guarda el archivo con
Command + S
-
-
Configura el login de Google en tu code de JavaScript/TypeScript
-
Importar
SocialLoginyCapacitorimport { SocialLogin } from '@capgo/capacitor-social-login';import { Capacitor } from '@capacitor/core'; -
Llama al método initialize (solo debe llamarse una vez)
Configuración básica (modo online - recomendado para la mayoría de las apps):
// onMounted is Vue specificonMounted(() => {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 supportiOSClientId: 'YOUR_IOS_CLIENT_ID', // Required: from step 1iOSServerClientId: 'YOUR_WEB_CLIENT_ID', // Optional: same as webClientId, needed for some advanced featuresmode: 'online' // 'online' or 'offline'}})}) -
Implementa la función de login. Crea un botón y ejecuta el siguiente code al hacer clic
Para el modo en línea:
const res = await SocialLogin.login({provider: 'google',options: {}})// handle the response - contains user dataconsole.log(JSON.stringify(res))Para el 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 modeconsole.log('Server auth code:', res.result.serverAuthCode)
-
-
Prueba tu aplicación
-
Compila tu app y ejecútala
cap sync -
Si lo has hecho todo correctamente, deberías ver que el flujo de inicio de sesión de Google funciona correctamente
-
Problemas conocidos
Sección titulada “Problemas conocidos”Incompatibilidad con el plugin Privacy Screen
Sección titulada “Incompatibilidad con el plugin Privacy Screen”El plugin Google Login es incompatible con @capacitor/privacy-screen. Al usar ambos plugins juntos, la pantalla de privacidad interrumpirá el webview de inicio de sesión de Google.
Solución: Llama a 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: {}});Continúa con Google Login en iOS
Sección titulada «Continuar desde Google Login en iOS»Si estás usando Google Login en iOS para planificar los flujos de autenticación y de cuenta, conéctalo con Uso de @capgo/capacitor-social-login para la capacidad nativa en el uso de @capgo/capacitor-social-login, @capgo/capacitor-social-login para los detalles 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, y Autenticación de dos factores para el detalle de implementación en la autenticación de dos factores.