Migrazione da Ionic Auth Connect a @capgo/capacitor-login-social
Copia un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
Panoramica
Sottosezione intitolata “Panoramica”Capgo La connessione di rete di Social Login sostituisce la connessione di autenticazione di Ionic con un flusso OAuth2 nativo del provider 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
Sottosezione intitolata “Perché funziona”Il plugin include un wrapper di compatibilità Auth Connect denominato SocialLoginAuthConnect. Mappa gli ID dei provider di autenticazione Ionic Auth Connect noti a tutti sul motore OAuth2 integrato, in modo da poter continuare ad utilizzare nomi come auth0, azure, e okta.
Installa
Sezione intitolata “Installa”npm install @capgo/capacitor-social-loginnpx cap syncSostituisci le tue importazioni
Sezione intitolata “Sostituisci le tue importazioni”// Beforeimport { AuthConnect } from '@ionic-enterprise/auth-connect';
// Afterimport { SocialLoginAuthConnect } from '@capgo/capacitor-social-login';Inizializza i provider
Sezione intitolata “Inizializza i provider”Usa i authConnect presets quando desideri gli stessi ID provider che Ionic Auth Connect utilizzava:
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 provider supportati
Sezione intitolata “ID provider supportati”auth0azurecognitooktaonelogin
Accesso, logout e accesso al token
Sezione intitolata “Accesso, 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 del provider
Sezione intitolata “Esempi di preset specifici del provider”Esempio di preset Auth0
Sezione intitolata “Esempio di 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 di preset Azure
Sezione intitolata “Esempio di 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 di preset Cognito
Sezione intitolata “Esempio di 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 di preset Okta
Sezione intitolata “Esempio di 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 di preset OneLogin
Sezione intitolata “Esempio di 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);Sostituire endpoint
Sezione intitolata “Sostituire endpoint”Ogni preset crea una configurazione di OAuth2 predefinita da domain o issuer. Se il tuo tenant utilizza endpoint personalizzati, sostituiscili 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
Se non desideri i preset, configura i provider nello stesso modo nei documenti di OAuth2 generici:Guida al provider OAuth2 e OIDC
Nota di migrazione
Nota di migrazione-
La layer di compatibilità è basata su OAuth2 Mantiene i nomi dei provider, non le informazioni di implementazione native di Ionic.
-
I token di refresh dipendono ancora dai permessi Richiesta
offline_accesso l'equivalente specifico del provider quando hai bisogno di token di refresh. -
Punti finali personalizzati possono sovrascrivere i preset Se il preset è vicino ma non esatto, sovrascrivi solo i punti finali che differiscono.
-
Direct
oauth2entrata vince Se definisci siaauthConnect.auth0eoauth2.auth0direttamenteoauth2la configurazione ha la precedenza.
Documentazione correlata
Sezione intitolata “Documentazione correlata”- Avvio di Social Login
- Provider OAuth2 e OIDC
- Migrare da Ionic Auth Connect
- Soluzione di migrazione per plugin enterprise di Ionic
Continua da Ionic Auth Connect Migration a @capgo/capacitor-social-login
Sezione intitolata “Continua da Ionic Auth Connect Migration a @capgo/capacitor-social-login”Se stai utilizzando Ionic Auth Connect Migration a @capgo/capacitor-social-login To pianificare l'autenticazione e le flussi di account, connettilo con Utilizza @capgo/capacitor-login-social Per la capacità nativa in Utilizza @capgo/capacitor-login-social @capgo/capacitor-login-social Per la dettaglio di implementazione in @capgo/capacitor-login-social @capgo/capacitor-passkey Per la dettaglio di implementazione in @capgo/capacitor-passkey @capgo/capacitor-biometric-nativo Per la dettaglio di implementazione in @capgo/capacitor-biometric-nativo, e Autenticazione a due fattori Per la dettaglio di implementazione in Autenticazione a due fattori.