Avvio
Copia un prompt di configurazione con le istruzioni di installazione e la guida markdown completa per questo plugin.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-social-login`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/social-login/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
Installazione
Sezione intitolata “Installazione”Puoi utilizzare la nostra configurazione assistita dall'IA per installare il plugin. Aggiungi le Capgo competenze al tuo strumento di AI utilizzando il seguente comando:
npx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-pluginsPoi utilizza il seguente prompt:
Use the `capacitor-plugins` skill from `cap-go/capacitor-skills` to install the `@capgo/capacitor-social-login` plugin in my project.Se preferisci la configurazione manuale, installa il plugin eseguendo i seguenti comandi e segui le istruzioni specifiche del tuo platform qui sotto:
-
Installa il pacchetto
Finestra del terminale npm install @capgo/capacitor-social-login -
Sincronizza con progetti nativi
Finestra del terminale npx cap sync -
Inizializza all'avvio dell'app
import { SocialLogin } from '@capgo/capacitor-social-login';await SocialLogin.initialize({google: {webClientId: 'your-google-web-client-id',iOSClientId: 'your-google-ios-client-id',iOSServerClientId: 'your-google-web-client-id',mode: 'online',},apple: {clientId: 'your-apple-service-id',useProperTokenExchange: true,useBroadcastChannel: true,},facebook: {appId: 'your-facebook-app-id',},twitter: {clientId: 'your-twitter-client-id',redirectUrl: 'myapp://oauth/twitter',},oauth2: {github: {appId: 'your-github-client-id',authorizationBaseUrl: 'https://github.com/login/oauth/authorize',accessTokenEndpoint: 'https://github.com/login/oauth/access_token',redirectUrl: 'myapp://oauth/github',scope: 'read:user user:email',pkceEnabled: true,},},});
Esempi di flusso di base
Esempi di flusso di baseawait SocialLogin.login({ provider: 'google', options: { scopes: ['profile', 'email'] },});
await SocialLogin.login({ provider: 'oauth2', options: { providerId: 'github', scope: 'read:user user:email', },});Controlli di sessione
Sottosezione intitolata “Controlli di sessione”const status = await SocialLogin.isLoggedIn({ provider: 'google' });await SocialLogin.logout({ provider: 'google' });Codici di autenticazione e aggiornamento
Sottosezione intitolata “Codici di autenticazione e aggiornamento”// For providers that support this modeconst authCodeResult = await SocialLogin.getAuthorizationCode({ provider: 'google' });await SocialLogin.refresh({ provider: 'google', options: {} as never });Aiuti avanzati
Sottosezione intitolata “Aiuti avanzati”const jwt = await SocialLogin.decodeIdToken({ idToken: 'eyJhbGciOi...',});
const { date } = await SocialLogin.getAccessTokenExpirationDate({ accessTokenExpirationDate: Date.now() + 3600 * 1000,});
const expired = await SocialLogin.isAccessTokenExpired({ accessTokenExpirationDate: Date.now() + 1000,});
const active = await SocialLogin.isRefreshTokenAvailable({ refreshToken: 'a-token' });Note specifiche del provider
Sottosezione intitolata “Note specifiche del provider”Modalità offline di Google
Sezione intitolata “Modalità offline di Google”google.mode: 'offline' ritorna serverAuthCode da login. In questa modalità non sono disponibili logout, isLoggedIn, getAuthorizationCode e refresh.
Usa serverAuthCode come input per l'interscambio di token sul tuo backend. Se hai bisogno di chiamare SocialLogin.refresh() al posto di google.mode: 'online' Apple
Sezione intitolata “Apple”
Impostaper il trattamento token rigoroso e useProperTokenExchange: true per la configurazione semplificata su Android. useBroadcastChannel: true Usa
Flusso di reindirizzamento OAuth2 web
Sezione intitolata “Flusso di reindirizzamento OAuth2 web”Usa OAuth2LoginOptions.flow: 'redirect' per flussi web che si spostano dalla pagina.
Dipendenze di provider dinamiche
Sezione intitolata “Dipendenze di provider dinamiche”Puoi configurare quali provider includere per ridurre la dimensione dell'app nativa. Questo è più utile quando la tua app ha bisogno di specifici provider.
Aggiungi configurazione del provider a capacitor.config.ts:
import type { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = { appId: 'com.example.app', appName: 'MyApp', webDir: 'dist', plugins: { SocialLogin: { providers: { google: true, facebook: true, apple: true, twitter: false, }, logLevel: 1, }, },};
export default config;I valori del provider significano:
true: il provider è abilitato e le sue dipendenze native sono incorporate.false: il provider è disabilitato e le sue dipendenze native non sono incorporate.
Dati importanti:
- Esegui
npx cap syncdopo aver modificato la configurazione del provider. - Se non viene fornita alcuna configurazione del provider, tutti i provider si attivano per compatibilità con il passato.
trueDisabilitando un provider con - lo rende non disponibile all'esecuzione, anche se quel provider utilizza solo API di sistema.
falseQuesta configurazione influisce solo su iOS e Android; non influisce su Web. - L'accesso con Apple Sign-In su Android utilizza OAuth senza dipendenze esterne.
- Apple Sign-In on Android uses OAuth without external SDK dependencies.
- Twitter/X uses standard OAuth 2.0 without external SDK dependencies.
Copia nella clipboard
plugins: { SocialLogin: { providers: { google: true, facebook: false, apple: true, twitter: false, }, },}Documentazione correlata
Titolo della sezione “Documentazione correlata”- Panoramica delle integrazioni
- Integrazione di Autenticazione Migliorata
- Fornitori OAuth2 e OIDC
- Risoluzione dei problemi
- Manifesto della privacy e gestori di URL iOS
- Migrare da Ionic Auth Connect
- Guida di migrazione per l'autenticazione connessa al Social Login
- Migrare provider legacy
- Soluzione di migrazione per plugin enterprise Ionic
Continua da qui: Inizia
Sezione intitolata “Continua da Inizia”Se stai utilizzando Inizia per pianificare l'autenticazione e i 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 il dettaglio di implementazione in @capgo/capacitor-login-social @capgo/capacitor-passkey per il dettaglio di implementazione in @capgo/capacitor-passkey, e @capgo/capacitor-biometric-nativo per il dettaglio di implementazione in @capgo/capacitor-biometric-nativo Autenticazione a due fattori per la dettagliata implementazione in Autenticazione a due fattori.