Vai al contenuto

@capgo/capacitor-social-login

Tutti i social login in un unico plugin.

@capgo/capacitor-social-login è il plugin di autenticazione social all-in-one per Web, iOS e Android.

Implementa:

  • Google Sign-In con Android Credential Manager
  • Sign in with Apple, incluso OAuth su Android
  • Facebook Login con l'attuale SDK di Facebook
  • Twitter/X tramite OAuth 2.0
  • Provider OAuth2 e OIDC generici, tra cui GitHub, Microsoft Entra ID, Auth0, Okta, Keycloak e altri server conformi

È inoltre il percorso di migrazione Capgo per le app che passano da Ionic Appflow Social Login o Ionic Auth Connect.

Questo plugin è nato come un fork di @codetrix-studio/capacitor-google-auth. Il pacchetto originale è di fatto archiviato, quindi Capgo mantiene questo plugin come sostituto supportato.

Se stai ancora usando @codetrix-studio/capacitor-google-auth, segui la guida alla migrazione di Google Auth legacy.

Se stai migrando da Ionic Auth Connect, usa il SocialLoginAuthConnect wrapper integrato per i auth0, azure, cognito, okta, e onelogin nomi dei provider:

Versione del pluginCompatibilità con CapacitorMantenuto
v8.xv8.xSì
v7.xv7.xSu richiesta
v6.xv6.xNo
v5.xv5.xNo

La versione major di questo plugin segue quella di Capacitor. Ad esempio, usa il plugin v8 con Capacitor 8. Solo l'ultima versione major è supportata attivamente.

Guarda una breve demo della configurazione del plugin e del flusso di login in azione.

  • initialize - Inizializza il plugin.
  • login - Effettua il login con il provider selezionato.
  • logout - Logout.
  • isLoggedIn IsLoggedIn.
MetodoDescrizione
initializeInizializza il plugin.
loginEffettua il login con il provider selezionato.
logoutLogout.
isLoggedInIsLoggedIn.
getAuthorizationCodeOttieni l'attuale code di autorizzazione.
refreshAggiorna l'access token.
refreshTokenHelper per il refresh-token OAuth2 del provider OAuth2 integrato.
handleRedirectCallbackSolo Web: gestisce il callback di redirect OAuth e restituisce il risultato parsato.
decodeIdTokenDecodifica un JWT (solitamente un OIDC ID token) nei suoi claim.
getAccessTokenExpirationDateConverte un timestamp di scadenza dell'access token (millisecondi dall'epoch) in una stringa data ISO.
isAccessTokenAvailableVerifica se un access token è disponibile (non vuoto).
isAccessTokenExpiredVerifica se un access token è scaduto.
isRefreshTokenAvailableVerifica se un refresh token è disponibile (non vuoto).
providerSpecificCallEsegue chiamate specifiche del provider.
getPluginVersionOttieni la versione nativa del plugin Capacitor.
openSecureWindowApre una finestra sicura per l'autenticazione OAuth2. Per il web, dovresti avere code nella pagina di redirect per usare un broadcast channel e inviare l'URL di redirect all'app. Qualcosa del tipo: html <html> <head></head> <body> <script> const searchParams = new URLSearchParams(location.search) if (searchParams.has("code")) { new BroadcastChannel("my-channel-name").postMessage(location.href); window.close(); } </script> </body> </html> Per il mobile, serve una redirect URI che apra l'app, come ad esempio: myapp://oauth_callback/ E assicurati di registrarla nel file info.plist dell'app: xml <key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLSchemes</key> <array> <string>myapp</string> </array> </dict> </array> E nel file AndroidManifest.xml: xml <activity> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:host="oauth_callback" android:scheme="myapp" /> </intent-filter> </activity> .

Questo riferimento è sincronizzato da src/definitions.ts nella capacitor-social-login.

Se stai usando @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-passkey per i dettagli di implementazione in @capgo/capacitor-passkey, @capgo/capacitor-native-biometric per i dettagli di implementazione in @capgo/capacitor-native-biometric, Autenticazione a due fattori per i dettagli di implementazione in Two-factor authentication, e SSO (Enterprise) per i dettagli di implementazione in SSO (Enterprise).