Migration d'Ionic Auth Connect vers @capgo/capacitor-social-login
Copiez un prompt de configuration incluant les étapes d'installation et le guide markdown complet pour ce plugin.
Capgo Social Login remplace Ionic Auth Connect par un flux OAuth2 natif du fournisseur pour Google, Apple, Facebook et d'autres fournisseurs d'identité. Il prend en charge plusieurs fournisseurs dans un seul plugin et fonctionne sur iOS, Android et le Web.
Pourquoi cela fonctionne
Section intitulée « Pourquoi ça fonctionne »Le plugin inclut un wrapper de compatibilité Auth Connect nommé SocialLoginAuthConnect. Il associe les identifiants de fournisseurs Ionic Auth Connect familiers au moteur OAuth2 intégré, afin que vous puissiez continuer à utiliser des noms tels que auth0, azure, et okta.
Installer
Section intitulée « Installation »npm install @capgo/capacitor-social-loginnpx cap syncRemplacez vos imports
Section intitulée « Remplacez vos imports »// Beforeimport { AuthConnect } from '@ionic-enterprise/auth-connect';
// Afterimport { SocialLoginAuthConnect } from '@capgo/capacitor-social-login';Initialiser les providers
Section intitulée « Initialiser les fournisseurs »Utilisez le authConnect presets lorsque vous voulez les mêmes ID de fournisseur qu'utilisait 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', }, },});ID de fournisseur pris en charge
Section intitulée « ID de fournisseur pris en charge »auth0azurecognitooktaonelogin
Connexion, déconnexion et accès au token
Section intitulée « Connexion, déconnexion et accès au 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',});Exemples de presets par fournisseur
Section intitulée « Exemples de presets par fournisseur »Exemple de preset Auth0
Section intitulée « Exemple de preset 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);Exemple de preset Azure
Section intitulée « Exemple de preset 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);Exemple de preset Cognito
Section intitulée « Exemple de preset 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);Exemple de preset Okta
Section intitulée « Exemple 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);Exemple de preset OneLogin
Section intitulée « Exemple 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);Remplacer les endpoints
Section intitulée « Surcharge des endpoints »Chaque preset crée une configuration OAuth2 par défaut à partir de domain ou issuer. Si votre tenant utilise des endpoints personnalisés, surchargez-les directement :
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', }, },});Configuration OAuth2 directe
Section intitulée « Configuration OAuth2 directe »Si vous ne souhaitez pas utiliser de presets, configurez les mêmes fournisseurs directement dans la documentation générique OAuth2 :
Notes de migration
Section intitulée « Notes de migration »-
La couche de compatibilité est basée sur OAuth2 Elle conserve les noms des fournisseurs, et non les détails d’implémentation native d’Ionic.
-
Les refresh tokens dépendent toujours des scopes Requête
offline_accessou de l’équivalent spécifique au fournisseur si vous avez besoin de refresh tokens. -
Custom endpoints can override presets Si le préréglage est proche mais pas exact, remplacez uniquement les points de terminaison qui diffèrent.
-
Direct
oauth2les entrées gagnent Si vous définissez les deuxauthConnect.auth0etoauth2.auth0, la config directeoauth2La configuration a la priorité.
Documentation associée
Section intitulée « Documentation associée »- Démarrer avec Social Login
- Fournisseurs OAuth2 et OIDC
- Migrer d'Ionic Auth Connect
- Solution de migration des plugins Ionic Enterprise
Continuer depuis la migration Ionic Auth Connect vers @capgo/capacitor-social-login
Section intitulée « Poursuivre de la migration Ionic Auth Connect vers @capgo/capacitor-social-login »Si vous utilisez Migration d'Ionic Auth Connect vers @capgo/capacitor-social-login pour planifier les flux d'authentification et de compte, le connecter à Utiliser @capgo/capacitor-social-login pour la capacité native dans Utiliser @capgo/capacitor-social-login @capgo/capacitor-social-login pour les détails d'implémentation dans @capgo/capacitor-social-login @capgo/capacitor-passkey pour les détails d'implémentation dans @capgo/capacitor-passkey @capgo/capacitor-native-biometric pour les détails d'implémentation dans @capgo/capacitor-native-biometric, et Authentification à deux facteurs pour les détails d'implémentation de l'authentification à deux facteurs.