Migración de Apple Sign-In a @capgo/login-social
Copia 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 paquete moderno @capgo/capacitor-social-login . 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 inicialización que no se necesitaba 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
Título de la sección “Iniciar Sesión”El proceso de inicio de sesión se simplifica desde múltiples parámetros a una configuración más limpia 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.
Tipo de respuesta modificada
Sección titulada “Tipo de respuesta modificada”Los resultados ahora incluyen un accessToken objeto con detalles de vencimiento y una sección estructurada profile reemplazando 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 capacidades
Sección titulada “Nuevas capacidades”El plugin actualizado introduce funcionalidades que no estaban disponibles en el predecesor:
Verificar 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'});Estos métodos proporcionan isLoggedIn() para verificar el estado de autenticación y 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
- Configura tu aplicación en el Portal del Desarrollador 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 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
- Configura tu 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, por favor consulta la documentación del Guía de configuración para Android.
Ventajas clave
Sección titulada “Ventajas clave”El paquete modernizado proporciona:
- APIs unificadas en múltiples proveedores sociales (Google, Facebook, Apple)
- Mejoras en el 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
- Administración del estado de inicio de sesión persistente
- Mejor manejo de errores con tipos de errores consistentes
Cambios importantes
Título de la sección “Cambios importantes”- Se requiere inicialización explícita - no hay configuración predeterminada
- La estructura del objeto de respuesta ha cambiado - formato de resultado anidado
- La implementación de Android requiere un servicio de backend para OAuth
- El manejo de refresco de tokens es diferente - gestión de tokens mejorada
- Los tipos de errores y el manejo 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 La migración de inicio de sesión de Apple a @capgo/social-login para planificar flujos de autenticación y cuentas, conéctela con Usando @capgo/capacitor-social-login para la capacidad nativa en Usando @capgo/capacitor-social-login, @capgo/capacitor-login-social para el detalle de implementación en @capgo/capacitor-login-social, @capgo/capacitor-clave-llave para el detalle de implementación en @capgo/capacitor-clave-llave, @capgo/capacitor-biometría-nativa para el detalle de implementación en @capgo/capacitor-biometría-nativa, y Autenticación de dos factores para el detalle de implementación en Autenticación de dos factores.