Migración de autenticación de Google 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 proporciona pasos detallados para migrar desde @codetrix-studio/capacitor-google-auth Versión @capgo/capacitor-social-login, ensuring a smooth transition and improved authentication experience. The new plugin unifies multiple social authentication providers under a single, consistent API.
garantizando una transición suave y una experiencia de autenticación mejorada. El nuevo plugin unifica múltiples proveedores de autenticación social bajo un solo y consistente __CAPGO_KEEP_0__.
Sección titulada “Instalación”-
Elimine el paquete antiguo:
Ventana de terminal npm uninstall @codetrix-studio/capacitor-google-auth -
Instale el nuevo paquete:
Ventana de terminal npm install @capgo/capacitor-social-loginnpx cap sync
Cambios importantes en la configuración de autenticación de Google
Sección titulada “Cambios importantes en la configuración de autenticación de Google”Requisito de ID de cliente web
Sección titulada “Requisito de ID de cliente web”Cambio crítico: La actualización del plugin requiere el uso de un ID de cliente web en todas las plataformas.
Necesitarás:
- Crear un ID de cliente web en la consola de Google Cloud si no lo tienes (Cómo obtener las credenciales)
- Usar este ID de cliente web en el
webClientIdcampo para todas las plataformas - Para Android, todavía necesitas crear un ID de cliente Android con tu SHA1, pero esto es solo para fines de verificación - el token no se usará (Guía de configuración para Android)
Code Cambios
Sección titulada "Code Cambios"Importar Cambios
Sección titulada "Importar Cambios"import { GoogleAuth } from '@codetrix-studio/capacitor-google-auth';import { SocialLogin } from '@capgo/capacitor-social-login';Iniciación
Sección titulada “Iniciación”La configuración cambia de una simple GoogleAuth.initialize() llamada a una estructurada SocialLogin.initialize() con configuración de Google anidada:
GoogleAuth.initialize({ clientId: 'CLIENT_ID.apps.googleusercontent.com', scopes: ['profile', 'email'], grantOfflineAccess: true,});
await SocialLogin.initialize({ google: { webClientId: 'WEB_CLIENT_ID.apps.googleusercontent.com', // Use Web Client ID for all platforms iOSClientId: 'IOS_CLIENT_ID', // for iOS mode: 'offline' // replaces grantOfflineAccess }});Iniciar sesión
Sección titulada “Iniciar sesión”El método de inicio de sesión cambia de GoogleAuth.signIn() a SocialLogin.login() con especificación de proveedor explícita:
const user = await GoogleAuth.signIn();const res = await SocialLogin.login({ provider: 'google', options: { scopes: ['email', 'profile'], forceRefreshToken: true // if you need refresh token }});Cambios específicos de plataforma
Sección titulada “Cambios específicos de plataforma”Android
Sección titulada “Android”- Actualice su
MainActivity.java(Guía completa de configuración de Android):
import ee.forgr.capacitor.social.login.GoogleProvider; import ee.forgr.capacitor.social.login.SocialLoginPlugin; import ee.forgr.capacitor.social.login.ModifiedMainActivityForSocialLoginPlugin; import com.getcapacitor.PluginHandle; import com.getcapacitor.Plugin; import android.content.Intent; import android.util.Log;
public class MainActivity extends BridgeActivity { public class MainActivity extends BridgeActivity implements ModifiedMainActivityForSocialLoginPlugin {
@Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data);
if (requestCode >= GoogleProvider.REQUEST_AUTHORIZE_GOOGLE_MIN && requestCode < GoogleProvider.REQUEST_AUTHORIZE_GOOGLE_MAX) { PluginHandle pluginHandle = getBridge().getPlugin("SocialLogin"); if (pluginHandle == null) { Log.i("Google Activity Result", "SocialLogin login handle is null"); return; } Plugin plugin = pluginHandle.getInstance(); if (!(plugin instanceof SocialLoginPlugin)) { Log.i("Google Activity Result", "SocialLogin plugin instance is not SocialLoginPlugin"); return; } ((SocialLoginPlugin) plugin).handleGoogleLoginIntent(requestCode, data); } }
public void IHaveModifiedTheMainActivityForTheUseWithSocialLoginPlugin() {}}-
No hay cambios importantes necesarios en AppDelegate.swift (Guía de configuración de iOS)
-
Actualice su configuración en
capacitor.config.json, no la usamos en el nuevo plugin:
{ "plugins": { "GoogleAuth": { "scopes": ["profile", "email"], "serverClientId": "xxxxxx-xxxxxxxxxxxxxxxxxx.apps.googleusercontent.com", "forceCodeForRefreshToken": true }}- Elimine las etiquetas de inicio de sesión de Google de su
index.htmlsi las estaba utilizando:
<meta name="google-signin-client_id" content="{your client id here}" /><meta name="google-signin-scope" content="profile email" />Cambios en el tipo de respuesta
Título de sección “Cambios en el tipo de respuesta”La respuesta de autenticación ahora proporciona un objeto estructurado que contiene información del proveedor, tokens de acceso, tokens de ID y datos de perfil de usuario:
interface GoogleLoginResponse { provider: 'google'; result: { accessToken: { token: string; expires: string; // ... other token fields } | null; idToken: string | null; profile: { email: string | null; familyName: string | null; givenName: string | null; id: string | null; name: string | null; imageUrl: string | null; }; };}Estructura de la respuesta incluye:
- proveedor: Identifica al proveedor de autenticación (
'google') - result.accessToken: Detalles del token de acceso con expiración
- result.idToken: Token de identidad para la autenticación
- result.profile: Información de perfil del usuario incluyendo correo electrónico, nombre y URL de imagen
Capacidades adicionales
Sección titulada “Capacidades adicionales”El nuevo paquete admite múltiples proveedores de autenticación social más allá de Google:
Esta aproximación unificada ofrece:
- Consistencia API en todos los proveedores
- Mejor soporte para TypeScript
- Mejor manejo de errores
- Mantenimiento activo y soporte de la comunidad
Revisa el documentación principal para obtener instrucciones de configuración detalladas para estos proveedores adicionales.
Sigue adelante desde la migración de autenticación de Google a @capgo/social-login
Sección titulada “Sigue adelante desde la migración de autenticación de Google a @capgo/social-login”If you are using Migración de Autenticación de Google a @capgo/social-login para planificar la autenticación y los flujos de cuenta, conectéalo 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 los detalles de implementación en la autenticación de dos factores.