@capgo/capacitor-social-login es el plugin de autenticación social todo en uno para Web, iOS y Android.
Implementa:
- Google Sign-In con Android Credential Manager
- Sign in with Apple, incluido OAuth en Android
- Facebook Login con el actual Facebook SDK
- Twitter/X a través de OAuth 2.0
- Proveedores genéricos de OAuth2 y OIDC, incluidos GitHub, Microsoft Entra ID, Auth0, Okta, Keycloak y otros servidores compatibles
También es la ruta de migración de Capgo para apps que migran desde Ionic Appflow Social Login o Ionic Auth Connect.
Notas sobre fork y migración
Sección titulada “Notas sobre fork y migración”Este plugin comenzó como un fork de @codetrix-studio/capacitor-google-auth. El paquete original está efectivamente archivado, por lo que Capgo mantiene este plugin como la alternativa soportada.
Si aún estás usando @codetrix-studio/capacitor-google-auth, sigue la guía de migración de Google Auth legacy.
Si estás migrando desde Ionic Auth Connect, usa el SocialLoginAuthConnect wrapper para el auth0, azure, cognito, okta, y onelogin nombres de proveedor:
Compatibilidad
Sección titulada “Compatibilidad”| Versión del plugin | Compatibilidad con Capacitor | Mantenido |
|---|---|---|
| v8.x | v8.x | Sí |
| v7.x | v7.x | Bajo demanda |
| v6.x | v6.x | No |
| v5.x | v5.x | No |
La versión principal de este plugin sigue la versión principal de Capacitor. Por ejemplo, usa el plugin v8 con Capacitor 8. Solo la versión principal más reciente se mantiene activamente.
Demostración en video
Sección titulada “Demostración en video”Mira una demo rápida de la configuración del plugin y el flujo de login en acción.
Funcionalidades principales
Sección titulada “Funcionalidades principales”initialize- Inicializa el plugin.login- Inicia sesión con el proveedor seleccionado.logout- Cerrar sesión.isLoggedIn- IsLoggedIn.
Público API
Sección titulada “Público API”| Método | Descripción |
|---|---|
initialize | Inicializa el plugin. |
login | Inicia sesión con el proveedor seleccionado. |
logout | Cerrar sesión. |
isLoggedIn | IsLoggedIn. |
getAuthorizationCode | Obtén el code de autorización actual. |
refresh | Refresca el access token. |
refreshToken | Helper de refresh token OAuth2 para el proveedor OAuth2 integrado. |
handleRedirectCallback | Solo web: gestiona el callback de redirección OAuth y devuelve el resultado parseado. |
decodeIdToken | Decodifica un JWT (normalmente un ID token de OIDC) en sus claims. |
getAccessTokenExpirationDate | Convierte un timestamp de expiración del access token (ms desde epoch) a un string de fecha ISO. |
isAccessTokenAvailable | Comprueba si hay un access token disponible (no vacío). |
isAccessTokenExpired | Comprueba si un access token ha expirado. |
isRefreshTokenAvailable | Comprueba si hay un refresh token disponible (no vacío). |
providerSpecificCall | Ejecuta llamadas específicas del proveedor. |
getPluginVersion | Obtén la versión del plugin nativo Capacitor. |
openSecureWindow | Abre una ventana segura para la autenticación OAuth2. En web, debes tener code en la página redirigida para usar un broadcast channel y enviar la URL redirigida a la app. Algo como: html <html> <head></head> <body> <script> const searchParams = new URLSearchParams(location.search) if (searchParams.has("code")) { new BroadcastChannel("my-channel-name").postMessage(location.href); window.close(); } </script> </body> </html> En móvil, debes tener una URI de redirección que abra la app, algo como: myapp://oauth_callback/ Y asegúrate de registrarla en el info.plist de la app: xml <key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLSchemes</key> <array> <string>myapp</string> </array> </dict> </array> Y en el archivo AndroidManifest.xml: xml <activity> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:host="oauth_callback" android:scheme="myapp" /> </intent-filter> </activity> . |
Fuente de verdad
Sección titulada “Fuente de verdad”Esta referencia se sincroniza desde src/definitions.ts en capacitor-social-login.
Continúa con @capgo/capacitor-social-login
Sección titulada “Continúa con @capgo/capacitor-social-login”Si estás usando @capgo/capacitor-social-login 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-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, Autenticación de dos factores para el detalle de implementación en la autenticación de dos factores, y SSO (Empresa) para el detalle de implementación en SSO (Enterprise).