Migration Ionic Auth Connect vers @capgo/capacitor-login-social
Copiez un prompt de configuration avec les étapes d'installation et la guide markdown complet pour ce plugin.
Présentation
Section intitulée “Présentation”Capgo Le connecteur de login social remplace Ionic Auth Connect par un flux OAuth2 natif du fournisseur pour Google, Apple, Facebook et autres fournisseurs d'identité. Il prend en charge plusieurs fournisseurs dans un seul plugin et fonctionne sur iOS, Android et Web.
Pourquoi cela fonctionne
Section intitulée “Pourquoi cela fonctionne”Le plugin inclut un wrapper de compatibilité Auth Connect nommé SocialLoginAuthConnect. Il cartographie les identifiants de fournisseur Auth Connect Ionic familiers vers le moteur OAuth2 intégré, afin que vous puissiez continuer à utiliser des noms comme auth0, azure, et okta.
Installer
Sous-titre « Installer »bun add @capgo/capacitor-social-loginbunx cap syncRemplacez vos importations
Sous-titre « Remplacez vos importations »// Beforeimport { AuthConnect } from '@ionic-enterprise/auth-connect';
// Afterimport { SocialLoginAuthConnect } from '@capgo/capacitor-social-login';Initialiser les fournisseurs
Sous-titre « Initialiser les fournisseurs »Utilisez les authConnect préférences lorsque vous voulez les mêmes identifiants de fournisseur que Ionic Auth Connect utilisait :
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', }, },});Identifiants de fournisseur pris en charge
Section intitulée « Identifiants de fournisseur pris en charge »auth0azurecognitooktaonelogin
Connexion, déconnexion et accès au jeton
Section intitulée « Connexion, déconnexion et accès au jeton »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 préférences spécifiques au fournisseur
Exemple de préférence Auth0Section intitulée « Exemple de préférence Auth0 »
Exemple de préférence Auth0await 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 préfixe Azure
Section intitulée “Exemple de préfixe 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 préfixe Cognito
Section intitulée “Exemple de préfixe 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 préfixe Okta
Section intitulée “Exemple de préfixe 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 préfixe OneLogin
Section intitulée “Exemple de préfixe 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);Remplacement des points de terminaison
Section intitulée « Remplacement des points de terminaison »Chaque ensemble de paramètres crée une configuration OAuth2 par défaut de domain ou issuerSi votre locataire utilise des points de terminaison personnalisés, remplacez-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 les ensembles de paramètres, configurez les mêmes fournisseurs directement dans les documents de la configuration OAuth2 générique :
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 natifs d'Ionic
-
Les jetons de rafraîchissement dépendent toujours des scopes Demande
offline_accessou l'équivalent spécifique au fournisseur lorsque vous avez besoin de jetons de rafraîchissement -
Les points de terminaison personnalisés peuvent surcharger les valeurs par défaut Si le modèle par défaut est proche mais pas exact, surchargez uniquement les points de terminaison qui diffèrent
-
Direct
oauth2les entrées gagnent Si vous définez à la foisauthConnect.auth0etoauth2.auth0les informations directesoauth2la configuration a la priorité.
Documentation connexe
Section intitulée « Documentation connexe »- Mise en route de l'authentification sociale
- Fournisseurs OAuth2 et OIDC
- Migrer depuis Ionic Auth Connect
- Solution de migration des plugins Ionic enterprise
Continuez la mise en route de la migration d'authentification sociale Ionic Auth Connect vers @capgo/capacitor-social-login
Section intitulée « Continuez la mise en route de la migration d'authentification sociale Ionic Auth Connect vers @capgo/capacitor-social-login »Si vous utilisez Mise en route de la migration d'authentification sociale Ionic Auth Connect vers @capgo/capacitor-social-login pour planifier l'authentification et les flux de compte, connectez-le avec Utiliser @capgo/capacitor-login-social pour la capacité native dans Utiliser @capgo/capacitor-login-social, @capgo/capacitor-login-social pour le détail d'implémentation dans @capgo/capacitor-login-social, @capgo/capacitor-passkey pour le détail d'implémentation dans @capgo/capacitor-passkey, @capgo/capacitor-biométrique-native pour le détail d'implémentation dans @capgo/capacitor-biométrique-native, et L'authentification à deux facteurs pour le détail d'implémentation dans L'authentification à deux facteurs.