Accesso sociale repository di __CAPGO_KEEP_0__
Copia un prompt di configurazione con i passaggi 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 abilità al tuo strumento di AI utilizzando il seguente comando:
npx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-pluginsUsa poi la seguente richiesta:
Use the `capacitor-plugins` skill from `cap-go/capacitor-skills` to install the `@capgo/capacitor-social-login` plugin in my project.Se preferisci l'installazione manuale, installa il plugin eseguendo i seguenti comandi e segui le istruzioni specifiche per la piattaforma riportate di seguito:
-
Installa il pacchetto
Finestra del terminale npm install @capgo/capacitor-social-login -
Sincronizza con i progetti nativi
Finestra del terminale npx cap sync -
Inizializza all'avvio dell'applicazione
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
Sezione intitolata “Esempi di flusso di base”await SocialLogin.login({ provider: 'google', options: { scopes: ['profile', 'email'] },});
await SocialLogin.login({ provider: 'oauth2', options: { providerId: 'github', scope: 'read:user user:email', },});Verifica della sessione
Sezione intitolata “Verifica della sessione”const status = await SocialLogin.isLoggedIn({ provider: 'google' });await SocialLogin.logout({ provider: 'google' });Codici di autenticazione e ricarica
Sezione intitolata “Codici di autenticazione e ricarica”// For providers that support this modeconst authCodeResult = await SocialLogin.getAuthorizationCode({ provider: 'google' });await SocialLogin.refresh({ provider: 'google', options: {} as never });Aiuti avanzati
Sezione 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
Sezione intitolata “Note specifiche del provider”Modalità offline di Google
ritornagoogle.mode: 'offline' da login. In questo modo logout, isLoggedIn, getAuthorizationCode, e refresh non sono disponibili. serverAuthCode Usa
solo come input per lo scambio di token nel tuo backend. Se hai bisogno di chiamare serverAuthCode all'interno dell'app, usa SocialLogin.refresh() __CAPGO_KEEP_0__ google.mode: 'online' al posto di.
Set useProperTokenExchange: true per il trattamento di token con modalità rigorose e useBroadcastChannel: true per la configurazione semplificata per Android.
Flusso di reindirizzamento OAuth2
Sottosezione intitolata “Flusso di reindirizzamento OAuth2”Utilizza OAuth2LoginOptions.flow: 'redirect' per flussi web che si spostano via dalla pagina.
Dipendenze di provider dinamiche
Sottosezione 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 dei 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.
Dettagli 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.
trueDisabilitare un provider con - per compatibilità con il passato.
falselo rende inaccessibile all'esecuzione, anche se quel provider utilizza solo API di sistema. - Questa configurazione influenza solo iOS e Android; non influenza Web.
- Apple Sign-In su Android utilizza OAuth senza dipendenze esterne SDK.
- Twitter/X utilizza OAuth 2.0 standard senza dipendenze esterne SDK.
Per includere solo Google Sign-In e Apple Sign-In:
plugins: { SocialLogin: { providers: { google: true, facebook: false, apple: true, twitter: false, }, },}Documentazione correlata
Documentazione correlata- Panoramica delle integrazioni
- Integrazione di Better Auth
- Provider OAuth2 e OIDC
- Risoluzione dei problemi
- Manifesto sulla privacy e gestori di URL per iOS
- Migrare da Ionic Auth Connect
- Guida di migrazione per Social Login Auth Connect
- Migrare provider legacy
- Soluzione di migrazione per plugin di Ionic enterprise
Continua da Getting Started
Continua da Getting StartedSe stai utilizzando Getting Started per pianificare l'autenticazione e le flussi di account, connettilo con Utilizzare @capgo/capacitor-social-login per la capacità nativa in Utilizzare @capgo/capacitor-social-login @capgo/capacitor-login-social per i dettagli di implementazione in @capgo/capacitor-login-social @capgo/capacitor-passkey per i dettagli di implementazione in @capgo/capacitor-passkey @capgo/capacitor-autenticazione-biometrica-nativa per i dettagli di implementazione in @capgo/capacitor-autenticazione-biometrica-nativa, e Autenticazione a due fattori per i dettagli di implementazione in Autenticazione a due fattori