Migración de Ionic Auth Connect a @capgo/capacitor-login-social
Copiar 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 de inicio de sesión de Capgo reemplaza la autenticación de Ionic Connect 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 Auth Connect con el nombre de SocialLoginAuthConnect. Mapea IDs de proveedores de autenticación Ionic Auth Connect familiares a la motor de OAuth2 integrada, por lo que puedes seguir utilizando nombres como auth0, azure, y okta.
Instalar
Sección titulada “Instalar”bun add @capgo/capacitor-social-loginbunx cap syncSustituye tus importaciones
Sección titulada “Sustituye tus importaciones”// Beforeimport { AuthConnect } from '@ionic-enterprise/auth-connect';
// Afterimport { SocialLoginAuthConnect } from '@capgo/capacitor-social-login';Inicia proveedores
Sección titulada “Inicia proveedores”Use the authConnect cuando desees los mismos IDs de proveedor que Ionic Auth Connect utilizó:
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 de inicio de sesión, cierre de sesión y token”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 presets específicos de proveedor
Sección titulada “Ejemplos de presets específicos de proveedor”Ejemplo de preset de Auth0
Sección titulada “Ejemplo de preset 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 preset de Azure
Sección titulada “Ejemplo de preset 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 preset de Cognito
Sección titulada “Ejemplo de preset 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 de Okta
Sección titulada “Ejemplo de preset de 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 de OneLogin
Sección titulada “Ejemplo de preset de 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);Sobreescribiendo puntos finales
Sección titulada “Sobreescribiendo puntos finales”Cada preset crea una configuración de OAuth2 por defecto desde domain o issuer. Si su inquilino utiliza puntos finales personalizados, sobreescribirlas 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 quiere presets, configure los mismos proveedores directamente en los documentos de OAuth2 genéricos:
Notas de migración
Nota de migración-
La capa de compatibilidad está basada en OAuth2 Mantiene los nombres de proveedor, no los detalles de implementación nativos de Ionic
-
Los tokens de actualización todavía dependen de los alcances Solicitud
offline_accesso el equivalente específico del proveedor cuando necesite tokens de actualización -
Los puntos finales personalizados pueden sobreescribir los conjuntos de valores por defecto Si el conjunto de valores por defecto es cercano pero no exacto, sobreescriba solo los puntos finales que difieren
-
Directo
oauth2los valores ganan Si define tantoauthConnect.auth0yoauth2.auth0directamenteoauth2la configuración tiene prioridad.
Documentación relacionada
Sección titulada “Documentación relacionada”- Iniciación de inicio de sesión social
- proveedores de OAuth2 y OIDC
- Migrar desde Ionic Auth Connect
- Solución de migración de plugins de Ionic enterprise
Sigue adelante desde Migración de inicio de sesión social de Ionic Auth Connect a @capgo/capacitor-social-login
Sección titulada “Sigue adelante desde Migración de inicio de sesión social de Ionic Auth Connect a @capgo/capacitor-social-login”Si estás utilizando Migración de inicio de sesión social de Ionic Auth Connect a @capgo/capacitor-social-login para planificar la autenticación y los flujos de cuenta, conecte 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.