Getting Started
Copie una solicitud de configuración con los pasos de instalación y la guía de markdown completa para este complemento.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-social-login`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/social-login/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
Instalación
Sección titulada “Instalación”Puede utilizar nuestra configuración asistida por inteligencia artificial para instalar el plugin. Agregue las Capgo habilidades a su herramienta de inteligencia artificial utilizando el siguiente comando:
npx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-pluginsLuego utilice la siguiente solicitud:
Use the `capacitor-plugins` skill from `cap-go/capacitor-skills` to install the `@capgo/capacitor-social-login` plugin in my project.Si prefiere la configuración manual, instale el plugin ejecutando los siguientes comandos y siguiendo las instrucciones específicas de la plataforma a continuación:
-
Instalar el paquete
Ventana de terminal npm install @capgo/capacitor-social-login -
Sincronizar con proyectos nativos
Ventana de terminal npx cap sync -
Iniciar en arranque de la aplicación
import { SocialLogin } from '@capgo/capacitor-social-login';await SocialLogin.initialize({google: {webClientId: 'your-google-web-client-id',iOSClientId: 'your-google-ios-client-id',iOSServerClientId: 'your-google-web-client-id',mode: 'online',},apple: {clientId: 'your-apple-service-id',useProperTokenExchange: true,useBroadcastChannel: true,},facebook: {appId: 'your-facebook-app-id',},twitter: {clientId: 'your-twitter-client-id',redirectUrl: 'myapp://oauth/twitter',},oauth2: {github: {appId: 'your-github-client-id',authorizationBaseUrl: 'https://github.com/login/oauth/authorize',accessTokenEndpoint: 'https://github.com/login/oauth/access_token',redirectUrl: 'myapp://oauth/github',scope: 'read:user user:email',pkceEnabled: true,},},});
Ejemplos de flujo básico
Sección titulada “Ejemplos de flujo básico”Iniciar sesión
Sección titulada “Iniciar sesión”await SocialLogin.login({ provider: 'google', options: { scopes: ['profile', 'email'] },});
await SocialLogin.login({ provider: 'oauth2', options: { providerId: 'github', scope: 'read:user user:email', },});Verificación de sesión
Sección titulada “Verificación de sesión”const status = await SocialLogin.isLoggedIn({ provider: 'google' });await SocialLogin.logout({ provider: 'google' });Códigos de autenticación y refresco
Sección titulada “Códigos de autenticación y refresco”// For providers that support this modeconst authCodeResult = await SocialLogin.getAuthorizationCode({ provider: 'google' });await SocialLogin.refresh({ provider: 'google', options: {} as never });Ayudas avanzadas
Sección titulada “Ayudas avanzadas”const jwt = await SocialLogin.decodeIdToken({ idToken: 'eyJhbGciOi...',});
const { date } = await SocialLogin.getAccessTokenExpirationDate({ accessTokenExpirationDate: Date.now() + 3600 * 1000,});
const expired = await SocialLogin.isAccessTokenExpired({ accessTokenExpirationDate: Date.now() + 1000,});
const active = await SocialLogin.isRefreshTokenAvailable({ refreshToken: 'a-token' });Notas específicas del proveedor
Sección titulada “Notas específicas del proveedor”Modo offline de Google
Sección titulada “Modo offline de Google”google.mode: 'offline' devuelve serverAuthCode desde login. En este modo, logout, isLoggedIn, getAuthorizationCode, y refresh no están disponibles.
Use serverAuthCode solo como entrada para el intercambio de tokens de tu backend. Si necesitas llamar SocialLogin.refresh() en la aplicación, usa google.mode: 'online' en su lugar.
Establece useProperTokenExchange: true para un manejo estricto de tokens y useBroadcastChannel: true para Android configuración simplificada.
Flujo de redirección de OAuth2 web
Sección titulada “Flujo de redirección de OAuth2 web”Use OAuth2LoginOptions.flow: 'redirect' para flujos web que se desplazan desde la página.
Dependencias de proveedores dinámicos
Sección titulada “Dependencias de proveedores dinámicos”Puede configurar qué proveedores incluir para reducir el tamaño del aplicación nativa. Esto es más útil cuando su aplicación solo necesita proveedores específicos.
Agregar configuración de proveedor a capacitor.config.ts:
import type { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = { appId: 'com.example.app', appName: 'MyApp', webDir: 'dist', plugins: { SocialLogin: { providers: { google: true, facebook: true, apple: true, twitter: false, }, logLevel: 1, }, },};
export default config;Los valores de proveedor significan:
true: El proveedor está habilitado y sus dependencias nativas están empaquetadas.false: El proveedor está deshabilitado y sus dependencias nativas no están empaquetadas.
Detalles importantes:
- Ejecutar
npx cap syncdespués de cambiar la configuración del proveedor. - Si no se proporciona una configuración de proveedor, todos los proveedores se establecen en
truepor compatibilidad hacia atrás. - Desactivar un proveedor con
falselo hace inaccesible en tiempo de ejecución, incluso si ese proveedor solo utiliza APIs del sistema. - Esta configuración solo afecta a iOS y Android; no afecta a Web.
- Apple Sign-In en Android utiliza OAuth sin dependencias externas SDK.
- Twitter/X utiliza OAuth estándar 2.0 sin dependencias externas SDK.
Para incluir solo Google Sign-In y Apple Sign-In:
plugins: { SocialLogin: { providers: { google: true, facebook: false, apple: true, twitter: false, }, },}Documentación relacionada
Documentación relacionada sección titulado ‘Documentación relacionada’- Resumen de integraciones
- Mejor integración de autenticación
- Proveedores de OAuth2 y OIDC
- Solución de problemas
- Manifiesto de privacidad y manipuladores de URL de iOS
- Migrar desde Ionic Auth Connect
- Guía de migración de autenticación de Social Login Connect
- Migrar proveedores legados
- Solución de migración de plugins de Ionic Enterprise
Sigue adelante desde Getting Started
Sección titulada “Sigue adelante desde Getting Started”Si estás utilizando Getting Started para planificar la autenticación y flujos de cuenta, conectarlo con Usando @capgo/capacitor-login-social para la capacidad nativa en Usando @capgo/capacitor-login-social, @capgo/capacitor-login-social para el detalle de implementación en @capgo/capacitor-login-social, @capgo/capacitor-passkey para el detalle de implementación en @capgo/capacitor-passkey, @capgo/capacitor-biometría-nativa para el detalle de implementación en @capgo/capacitor-biometría-nativa, y Autenticación en dos factores para el detalle de implementación en Autenticación en dos factores.