Migración de Conexión de Autenticación de Ionic a @capgo/capacitor-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”Capgo La autenticación social reemplaza la conexión de autenticación de ionic con un flujo de OAuth2 nativo del proveedor para Google, Apple, Facebook y otros proveedores de identidad. Soporta múltiples proveedores en un plugin y funciona en iOS, Android y Web.
¿Por qué funciona?
Sección titulada “¿Por qué funciona?”El plugin incluye un wrapper de compatibilidad de conexión de autenticación denominado SocialLoginAuthConnectMapea los IDs de proveedor de autenticación de Ionic conocidos a la máquina de motor de OAuth2 integrada, para que puedas seguir utilizando nombres como auth0, azurey okta.
Instalar
Ventana de terminalnpm install @capgo/capacitor-social-loginnpx cap syncReemplaza tus importaciones
Sección titulada “Reemplaza tus importaciones”// Beforeimport { AuthConnect } from '@ionic-enterprise/auth-connect';
// Afterimport { SocialLoginAuthConnect } from '@capgo/capacitor-social-login';Inicializa proveedores
Sección titulada “Inicializa proveedores”Utiliza los authConnect presets cuando desees los mismos IDs de proveedor que utilizó Ionic Auth Connect:
await SocialLoginAuthConnect.initialize({ authConnect: { auth0: { domain: 'https://your-tenant.auth0.com', clientId: 'your-auth0-client-id', redirectUrl: 'myapp://oauth/auth0', audience: 'https://your-api.example.com', }, azure: { tenantId: 'common', clientId: 'your-azure-client-id', redirectUrl: 'myapp://oauth/azure', }, cognito: { domain: 'https://your-domain.auth.region.amazoncognito.com', clientId: 'your-cognito-client-id', redirectUrl: 'myapp://oauth/cognito', }, okta: { issuer: 'https://dev-12345.okta.com/oauth2/default', clientId: 'your-okta-client-id', redirectUrl: 'myapp://oauth/okta', }, onelogin: { issuer: 'https://your-tenant.onelogin.com/oidc/2', clientId: 'your-onelogin-client-id', redirectUrl: 'myapp://oauth/onelogin', }, },});IDs de proveedor admitidos
Sección titulada “IDs de proveedor admitidos”auth0azurecognitooktaonelogin
Acceso de inicio de sesión, cierre de sesión y token
Sección titulada “Acceso, cierre de sesión y acceso a tokens”const result = await SocialLoginAuthConnect.login({ provider: 'auth0',});
const status = await SocialLoginAuthConnect.isLoggedIn({ provider: 'auth0',});
const code = await SocialLoginAuthConnect.getAuthorizationCode({ provider: 'auth0',});
await SocialLoginAuthConnect.logout({ provider: 'auth0',});Ejemplos de configuraciones específicas de proveedor
Sección titulada “Ejemplos de configuraciones específicas de proveedor”Ejemplo de configuración de Auth0
Sección titulada “Ejemplo de configuración de Auth0”await SocialLoginAuthConnect.initialize({ authConnect: { auth0: { domain: 'https://your-tenant.auth0.com', clientId: 'your-auth0-client-id', redirectUrl: 'myapp://oauth/auth0', audience: 'https://your-api.example.com', }, },});
const auth0Result = await SocialLoginAuthConnect.login({ provider: 'auth0',});
console.log(auth0Result.result.idToken);Ejemplo de configuración de Azure
Sección titulada “Ejemplo de configuración de Azure”await SocialLoginAuthConnect.initialize({ authConnect: { azure: { tenantId: 'common', clientId: 'your-azure-client-id', redirectUrl: 'myapp://oauth/azure', }, },});
const azureResult = await SocialLoginAuthConnect.login({ provider: 'azure',});
console.log(azureResult.result.resourceData);Ejemplo de configuración de Cognito
Sección titulada “Ejemplo de configuración de Cognito”await SocialLoginAuthConnect.initialize({ authConnect: { cognito: { domain: 'https://your-domain.auth.region.amazoncognito.com', clientId: 'your-cognito-client-id', redirectUrl: 'myapp://oauth/cognito', }, },});
const cognitoResult = await SocialLoginAuthConnect.login({ provider: 'cognito',});
console.log(cognitoResult.result.idToken);Ejemplo de preset Okta
Sección titulada “Ejemplo de preset Okta”await SocialLoginAuthConnect.initialize({ authConnect: { okta: { issuer: 'https://dev-12345.okta.com/oauth2/default', clientId: 'your-okta-client-id', redirectUrl: 'myapp://oauth/okta', }, },});
const oktaResult = await SocialLoginAuthConnect.login({ provider: 'okta',});
console.log(oktaResult.result.resourceData);Ejemplo de preset OneLogin
Sección titulada “Ejemplo de preset OneLogin”await SocialLoginAuthConnect.initialize({ authConnect: { onelogin: { issuer: 'https://your-tenant.onelogin.com/oidc/2', clientId: 'your-onelogin-client-id', redirectUrl: 'myapp://oauth/onelogin', }, },});
const oneloginResult = await SocialLoginAuthConnect.login({ provider: 'onelogin',});
console.log(oneloginResult.result.idToken);Sobreescribir puntos de conexión
Sección titulada “Sobreescribir puntos de conexión”Cada preset crea una configuración de OAuth2 predeterminada desde domain o issuerSi su inquilino utiliza puntos de conexión personalizados, sobreescriba directamente:
await SocialLoginAuthConnect.initialize({ authConnect: { onelogin: { issuer: 'https://your-tenant.onelogin.com/oidc/2', clientId: 'your-onelogin-client-id', redirectUrl: 'myapp://oauth/onelogin', authorizationBaseUrl: 'https://your-tenant.onelogin.com/oidc/2/auth', accessTokenEndpoint: 'https://your-tenant.onelogin.com/oidc/2/token', resourceUrl: 'https://your-tenant.onelogin.com/oidc/2/me', logoutUrl: 'https://your-tenant.onelogin.com/oidc/2/logout', }, },});Configuración OAuth2 directa
Sección titulada “Configuración OAuth2 directa”Si no deseas utilizar presets, configura los proveedores directamente en los documentos de OAuth2 generales:
Notas de migración
Sección titulada “Notas de migración”-
La capa de compatibilidad se basa en OAuth2 Mantiene los nombres de proveedor, no los detalles de implementación nativos de Ionic.
-
Los tokens de refresco todavía dependen de los ámbitos Solicitud
offline_accesso la equivalente específica del proveedor cuando necesites tokens de refresco. -
Puntos de conexión personalizados pueden sobreescribir los presets Si el preset es cercano pero no exacto, sobreescriba solo los puntos de conexión que difieren.
-
Directo
oauth2los elementos ganan Si defines tantoauthConnect.auth0yoauth2.auth0context: Página/área: Sitio web de marketing de Capgo. Rol: Etiqueta de IU corta o elemento de navegación. Visto en: página trust.astro. Clave de mensaje `and` (Y).oauth2el directo
la configuración tiene prioridad.
Documentación relacionada- Título de sección “Documentación relacionada”
- Inicio de sesión social: inicio de sesión iniciado por Capgo. Inicio de sesión iniciado por OAuth2 y OIDC proveedores
- Migrar desde Ionic Auth Connect
- Solución de migración de plugins de Ionic enterprise
Siga adelante desde Migración de Ionic Auth Connect a @capgo/capacitor-social-login
Título de la sección “Siga adelante desde Migración de Ionic Auth Connect a @capgo/capacitor-social-login”Si está utilizando Migración de Ionic Auth Connect a @capgo/capacitor-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-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 Dos factores de autenticación para el detalle de implementación en Dos factores de autenticación.