Migración de Inicio de Sesión de Apple a @capgo/social-login
Copie 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 describe la transición desde el legado @capacitor-community/apple-sign-in plugin al moderno @capgo/capacitor-social-login paquete. El nuevo plugin proporciona una interfaz unificada para múltiples proveedores de autenticación social con un mejor soporte de TypeScript y mantenimiento activo.
Instalación
Sección titulada “Instalación”-
Elimine el paquete antiguo:
Ventana de terminal npm uninstall @capacitor-community/apple-sign-in -
Instale el nuevo paquete:
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 { SignInWithApple } from '@capacitor-community/apple-sign-in';import { SocialLogin } from '@capgo/capacitor-social-login';Iniciación
Sección titulada “Iniciación”Cambio clave: El nuevo plugin requiere un paso de iniciación que no era necesario antes.
// No initialization needed in old package// For iOS: Basic configurationawait SocialLogin.initialize({ apple: {} // Basic iOS configuration});
// For Android: Additional configuration requiredawait SocialLogin.initialize({ apple: { clientId: 'YOUR_SERVICE_ID', // Service ID from Apple Developer Portal redirectUrl: 'https://your-backend.com/callback' // Your backend callback URL }});Nota importante: Para iOS, proporciona una configuración básica, mientras que Android requiere detalles adicionales, incluido un ID de Servicio y una URL de llamada de backend para la autenticación de OAuth basada en web.
Iniciar sesión
Sección titulada “Iniciar sesión”El proceso de inicio de sesión se simplifica desde múltiples parámetros a una API:
const result = await SignInWithApple.authorize({ clientId: 'com.your.app', redirectURI: 'https://your-app.com/callback', scopes: 'email name', state: '12345', nonce: 'nonce'});
const result = await SocialLogin.login({ provider: 'apple', options: { // Optional: Add scopes if needed scopes: ['email', 'name'], nonce: 'nonce' }});El nuevo plugin utiliza login() con provider: 'apple' y ámbitos opcionales en lugar de pasar valores de configuración individuales como clientId y redirectURI.
Cambios en el tipo de respuesta
Sección titulada “Cambios en el tipo de respuesta”Los resultados ahora incluyen un accessToken objeto con detalles de expiración y una sección estructurada profile que reemplaza el formato de respuesta plano del paquete original:
// Old response typeinterface AppleSignInResponse { response: { user: string; email: string | null; givenName: string | null; familyName: string | null; identityToken: string | null; authorizationCode: string | null; };}
// New response typeinterface SocialLoginResponse { provider: 'apple'; result: { accessToken: { token: string; expiresIn?: number; refreshToken?: string; } | null; idToken: string | null; profile: { user: string; email: string | null; givenName: string | null; familyName: string | null; }; };}Nuevas Funcionalidades
Sección titulada “Nuevas Funcionalidades”El plugin actualizado introduce funcionalidades que no estaban disponibles en el predecesor:
Verificar el estado de inicio de sesión
// Not available in old packageconst status = await SocialLogin.isLoggedIn({ provider: 'apple'});Funcionalidad de cierre de sesión
// Not available in old packageawait SocialLogin.logout({ provider: 'apple'});These methods provide __CAPGO_KEEP_0__ to verify authentication status and __CAPGO_KEEP_1__. isLoggedIn() para verificar el estado de autenticación y __CAPGO_KEEP_1__. logout() funcionalidad.
Cambios específicos de plataforma.
Sección titulada “Cambios específicos de plataforma”.Configuración de iOS.
Sección titulada “Configuración de iOS”.iOS. mantiene procedimientos de configuración familiares a través de capacidades de Xcode:
- La configuración de iOS sigue siendo en gran medida la misma. Todavía necesitas:
- Habilitar la capacidad “Iniciar sesión con Apple” en Xcode
- Configurar su aplicación en el Portal de Desarrolladores de Apple
- No se requieren cambios adicionales code para iOS
Configuración de Android
Sección titulada “Configuración de Android”Android ahora recibe soporte nativo mediante autenticación de OAuth basada en web:
El nuevo plugin proporciona soporte de Android de forma predeterminada, pero requiere una configuración adicional:
- Crear un ID de Servicio en el Portal del Desarrollador de Apple
- Configurar un punto de conexión de autenticación web
- Configurar la aplicación de Android para manejar el flujo de OAuth
- Se requiere configuración del servicio de backend
Para obtener instrucciones detalladas de configuración de Android, consulte el Guía de Configuración de Android.
Ventajas clave
Sección titulada “Ventajas clave”El paquete modernizado proporciona:
- APIs unificadas en múltiples proveedores sociales (Google, Facebook, Apple)
- Mejor tipado de TypeScript con definiciones de tipo mejoradas
- Mantenimiento de la comunidad activa en comparación con la versión descontinuada
- Compatibilidad integrada con Android a través de la autenticación basada en web
- Gestión del estado de inicio de sesión persistente
- Mejores manejo de errores con tipos de errores consistentes
Cambios importantes
Sección titulada “Cambios importantes”- La inicialización explícita es ahora obligatoria - no configuración por defecto
- La estructura del objeto de respuesta ha cambiado - formato de resultados anidados
- La implementación de Android requiere un servicio de backend para OAuth
- El manejo de refresco de tokens es diferente - mejor gestión de tokens
- Los manejo de errores y los tipos de errores han cambiado - errores más detallados
Para obtener instrucciones de configuración más detalladas, consulte la documentación oficial.
Siga adelante desde la migración de inicio de sesión de Apple a @capgo/social-login
Sección titulada “Siga adelante desde la migración de inicio de sesión de Apple a @capgo/social-login”Si está utilizando Migración de inicio de sesión de Apple a @capgo/social-login para planificar la autenticación y los flujos de cuenta, conéctelo con Usando @capgo/capacitor-social-login para la capacidad nativa en Usando @capgo/capacitor-social-login, @capgo/capacitor-social-login para los detalles de implementación en @capgo/capacitor-login-social @capgo/capacitor-clave-llave para los detalles de implementación en @capgo/capacitor-clave-llave @capgo/capacitor-biometría-nativa para los detalles de implementación en @capgo/capacitor-biometría-nativa, y autenticación de dos factores para los detalles de implementación en autenticación de dos factores.