Migración de inicio de sesión de Facebook a @capgo/social-login
Copy un prompt de configuración con los pasos de instalación y la guía de markdown completa para este plugin.
Resumen
Sección titulada “Resumen”Esta guía proporciona instrucciones detalladas para migrar desde @capacitor-community/facebook-login Versión anterior @capgo/capacitor-social-login. La nueva versión del plugin moderniza la autenticación de Facebook con una interfaz unificada API que admite múltiples proveedores sociales, un mejor soporte para TypeScript y capacidades mejoradas.
Instalación
Sección titulada “Instalación”-
Elimine el paquete antiguo:
Ventana de terminal npm uninstall @capacitor-community/facebook-login -
Instale el paquete nuevo:
Ventana de terminal npm install @capgo/capacitor-social-loginnpx cap sync
Code Cambios
Sección titulada “Code Cambios”Importar Cambios
Sección titulada “Importar Cambios”import { FacebookLogin } from '@capacitor-community/facebook-login';import { SocialLogin } from '@capgo/capacitor-social-login';Inicialización
Título de la sección “Inicialización”Cambio de clave: El nuevo paquete requiere una configuración explícita en tu code:
// Old package required no explicit initialization in code// Configuration was done only in native platforms
// New package requires explicit initializationawait SocialLogin.initialize({ facebook: { appId: 'YOUR_FACEBOOK_APP_ID', // Required for web and Android clientToken: 'YOUR_CLIENT_TOKEN' // Required for Android }});Título de la sección “Inicio de sesión”
const FACEBOOK_PERMISSIONS = ['email', 'public_profile'];const result = await FacebookLogin.login({ permissions: FACEBOOK_PERMISSIONS });
const result = await SocialLogin.login({ provider: 'facebook', options: { permissions: ['email', 'public_profile'], limitedLogin: false, nonce: 'optional_nonce' }});Copiar a portapapeles
Cambios en el tipo de respuestaEstructura de respuesta modernizada con un objeto de perfil más completo:
// Old response typeinterface FacebookLoginResponse { accessToken: { applicationId: string; userId: string; token: string; expires: string; }; recentlyGrantedPermissions: string[]; recentlyDeniedPermissions: string[];}
// New response typeinterface FacebookLoginResponse { provider: 'facebook'; result: { accessToken: { token: string; applicationId?: string; expires?: string; userId?: string; permissions?: string[]; declinedPermissions?: string[]; } | null; idToken: string | null; profile: { userID: string; email: string | null; friendIDs: string[]; birthday: string | null; ageRange: { min?: number; max?: number } | null; gender: string | null; location: { id: string; name: string } | null; hometown: { id: string; name: string } | null; profileURL: string | null; name: string | null; imageURL: string | null; }; };}Diferencias clave:
- La respuesta ahora incluye un
providercampo que identifica al proveedor de autenticación - Un objeto más detallado
profilecon información de usuario adicional - Estructura consistente en todos los proveedores de inicio de sesión social
Verificar estado de inicio de sesión
Sección titulada “Verificar estado de inicio de sesión”const result = await FacebookLogin.getCurrentAccessToken();const isLoggedIn = result && result.accessToken;
const status = await SocialLogin.isLoggedIn({ provider: 'facebook'});const isLoggedIn = status.isLoggedIn;Cerrar sesión
Sección titulada “Cerrar sesión”await FacebookLogin.logout();
await SocialLogin.logout({ provider: 'facebook'});Cambios específicos de plataforma
Sección titulada “Cambios específicos de plataforma”Configuración de Android
Sección titulada “Configuración de Android”La configuración ahora se gestiona mediante el método initialize:
// AndroidManifest.xml changes remain the same// strings.xml become irrelevant// Additionally initialize in your code:await SocialLogin.initialize({ facebook: { appId: 'your-app-id', clientToken: 'your-client-token' // New requirement }});Importante: El token del cliente es ahora necesario para la autenticación de Android.
Configuración de iOS
Sección titulada “Configuración de iOS”- La configuración de iOS en
AppDelegate.swiftse mantiene igual:
import FBSDKCoreKit
// In application:didFinishLaunchingWithOptions:FBSDKCoreKit.ApplicationDelegate.shared.application( application, didFinishLaunchingWithOptions: launchOptions)
// In application:openURL:options:ApplicationDelegate.shared.application( app, open: url, sourceApplication: options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String, annotation: options[UIApplication.OpenURLOptionsKey.annotation])- La
Info.plistLa configuración se mantiene igual:
<key>CFBundleURLTypes</key><array> <dict> <key>CFBundleURLSchemes</key> <array> <string>fb[APP_ID]</string> </array> </dict></array><key>FacebookAppID</key><string>[APP_ID]</string><key>FacebookClientToken</key><string>[CLIENT_TOKEN]</string><key>FacebookDisplayName</key><string>[APP_NAME]</string><key>LSApplicationQueriesSchemes</key><array> <string>fbapi</string> <string>fbauth</string> <string>fb-messenger-share-api</string> <string>fbauth2</string> <string>fbshareextension</string></array>Cambios importantes
Sección titulada “Cambios importantes”Resumen de cambios importantes al migrar:
- La inicialización explícita es ahora obligatoria - Debe llamar a
initialize()antes de usar - Estructura del objeto de respuesta ha cambiado significativamente - Nuevo formato de resultado anidado con datos de perfil mejorados
- - Se requiere token del cliente para Android - Se necesita configuración adicional
- - Nuevos nombres de método y estructuras de parámetros - Enfoque basado en proveedores
- - El manejo de errores y tipos de errores han cambiado - Información de errores más detallada
Ventajas Clave
Sección titulada “Ventajas Clave”El nuevo plugin proporciona:
- API en varios proveedores sociales (Google, Apple, Facebook)
- Mejor soporte para TypeScript con definiciones de tipo mejoradas
- Datos de perfil mejorados con más información del usuario
- Mantenimiento activo y apoyo de la comunidad
- Manejo de errores consistente en todos los proveedores
- Mejor gestión de tokens con manejo de expiración adecuado
Para obtener instrucciones de configuración más detalladas, consulte el documentación oficial.
Sigue adelante desde la migración de inicio de sesión de Facebook a @capgo/social-login
Título de la sección “Sigue adelante desde la migración de inicio de sesión de Facebook a @capgo/social-login”Si estás utilizando La migración de inicio de sesión de Facebook a @capgo/social-login para planificar flujos de autenticación y cuentas, 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, y Autenticación de dos factores para el detalle de implementación en Autenticación de dos factores.