Migración de Apple Sign-In a @capgo/social-login
Copiar un prompt de configuración con los pasos de instalación y la guía de markdown completa para este plugin.
Overview
Section titled “Overview”Esta guía describe la transición desde la versión legada @capacitor-community/apple-sign-in plugin a la modernidad @capgo/capacitor-social-login paquete. El nuevo plugin proporciona una interfaz unificada para múltiples proveedores de autenticación social con mejor soporte para TypeScript y mantenimiento activo.
Installation
Sección titulada “Instalación”-
Título de sección “Instalación”
Ventana de terminal npm uninstall @capacitor-community/apple-sign-in -
Instalar 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”Modificación clave: La nueva extensión requiere un paso de inicializació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 ImportantePara iOS, proporciona configuración básica, mientras que Android requiere detalles adicionales, incluyendo 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 un API más limpio:
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() with provider: 'apple' con 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 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 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'});Estas funciones 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”iOS mantiene procedimientos de configuración familiares a través de capacidades de Xcode:
- La configuración de iOS sigue siendo básicamente la misma. Todavía necesitas:
- Habilite la capacidad de inicio de sesión con Apple en Xcode
- Configure 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 para Android de serie, pero requiere una configuración adicional:
- Cree un ID de Servicios en el Portal de Desarrolladores de Apple
- Configure un punto de conexión de autenticación web
- Configure su 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 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)
- Mejoras en el tipado de TypeScript con definiciones de tipo mejoradas
- Mantenimiento activo de la comunidad en comparación con la versión descontinuada
- Soporte integrado para Android a través de autenticación basada en web
- Gestión de estado de inicio de sesión persistente
- Mejor manejo de errores con tipos de errores consistentes
Cambios significativos
Sección titulada “Cambios significativos”- La inicialización explícita es ahora obligatoria - no configuración por defecto
- 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 - mejor gestión de tokens
- Error handling and error types have changed - errores más detallados
Para obtener instrucciones de configuración más detalladas, consulte la documentación oficial.
Sigue adelante desde la migración de Apple Sign-In a @capgo/social-login
Sección titulada “Sigue adelante desde la migración de Apple Sign-In a @capgo/social-login”Si está utilizando la migración de Apple Sign-In a @capgo/social-login para planificar la autenticación y los flujos de cuenta, conecte con Usando @capgo/capacitor-social-login para la capacidad nativa en Usando @capgo/capacitor-social-login, @capgo/capacitor-iniciación-de-sesión-social 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-nativo-biometria para el detalle de implementación en @capgo/capacitor-native-biometric, y Autenticación en dos factores para el detalle de implementación en Autenticación en dos factores.