Migrazione Ionic Auth Connect a @capgo/capacitor-social-login
Copia un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
Panoramica
Sezione intitolata “Panoramica”Capgo Social Login sostituisce Ionic Auth Connect con un flusso OAuth2 nativo per Google, Apple, Facebook e altri provider di identità. Supporta più provider in un unico plugin e funziona su iOS, Android e Web.
Perché funziona
Sezione: “Perché funziona”Il plugin include un wrapper di compatibilità per Auth Connect chiamato SocialLoginAuthConnect. Mappa i provider ID familiari di Ionic Auth Connect sul motore OAuth2 integrato, così potrai continuare a usare nomi come auth0, azure, e okta.
npm install @capgo/capacitor-social-loginnpx cap syncSostituisci gli import
Sezione: “Sostituisci i tuoi import”// Beforeimport { AuthConnect } from '@ionic-enterprise/auth-connect';
// Afterimport { SocialLoginAuthConnect } from '@capgo/capacitor-social-login';Inizializza i provider
Sezione intitolata “Inizializzazione dei provider”Usa il authConnect preset se desideri utilizzare gli stessi ID provider di 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 dei provider supportati
Sezione intitolata “ID provider supportati”auth0azurecognitooktaonelogin
Login, logout e accesso al token
Sezione intitolata “Login, logout e accesso al 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',});Esempi di preset specifici per provider
Sezione intitolata “Esempi di preset specifici per provider”Esempio di preset Auth0
Sezione intitolata “Esempio 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);Esempio preset Azure
Sezione intitolata “Esempio 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);Esempio preset Cognito
Sezione intitolata “Esempio 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);Esempio preset Okta
Sezione intitolata “Esempio 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);Esempio preset OneLogin
Sezione intitolata “Esempio 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);Override degli endpoint
Sezione intitolata “Override degli endpoint”Ogni preset crea una configurazione OAuth2 predefinita da domain o issuer. Se il tuo tenant utilizza endpoint personalizzati, sovrascrivili direttamente:
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', }, },});Configurazione OAuth2 diretta
Sezione intitolata “Configurazione OAuth2 diretta”Se non vuoi usare i preset, configura gli stessi provider direttamente nella documentazione OAuth2 generica:
Note sulla migrazione
Sezione: “Note di migrazione”-
Il layer di compatibilità si basa su OAuth2 Mantiene i nomi dei provider, non i dettagli dell'implementazione nativa di Ionic.
-
I refresh token dipendono ancora dagli scope Richiesta
offline_accesso dall'equivalente specifico del provider quando servono i refresh token. -
Custom endpoints can override presets Se il preset è simile ma non esatto, sovrascrivi solo gli endpoint differenti.
-
Le voci
oauth2voci vinte Se definisci entrambiauthConnect.auth0eoauth2.auth0, la configurazione direttaoauth2ha la precedenza.
Documentazione correlata
Sezione intitolata “Documentazione correlata”- Guida rapida a Social Login
- Provider OAuth2 e OIDC
- Migrazione da Ionic Auth Connect
- Soluzione di migrazione per plugin Ionic Enterprise
Continua da Ionic Auth Connect Migration a @capgo/capacitor-social-login
Sezione intitolata “Passare dalla migrazione di Ionic Auth Connect a @capgo/capacitor-social-login”Se stai usando Migrazione Ionic Auth Connect a @capgo/capacitor-social-login per pianificare i flussi di autenticazione e account, collegandolo a Utilizzo di @capgo/capacitor-social-login per la funzionalità nativa in Utilizzo di @capgo/capacitor-social-login, @capgo/capacitor-social-login per i dettagli di implementazione in @capgo/capacitor-social-login, @capgo/capacitor-passkey per i dettagli di implementazione in @capgo/capacitor-passkey, @capgo/capacitor-native-biometric per i dettagli di implementazione in @capgo/capacitor-native-biometric, e Autenticazione a due fattori per i dettagli sull'implementazione dell'autenticazione a due fattori.