Zum Inhalt springen

@capgo/capacitor-social-login

Alle Social Logins in einem Plugin.

@capgo/capacitor-social-login ist das All-in-One-Plugin für Social Authentication für Web, iOS und Android.

Es implementiert:

  • Google Sign-In mit dem Android Credential Manager
  • Sign in with Apple, inklusive OAuth auf Android
  • Facebook Login mit dem aktuellen Facebook SDK
  • Twitter/X über OAuth 2.0
  • Generische OAuth2- und OIDC-Provider, einschließlich GitHub, Microsoft Entra ID, Auth0, Okta, Keycloak und anderen kompatiblen Servern

Es ist zudem der Capgo Migrationspfad für Apps, die von Ionic Appflow Social Login oder Ionic Auth Connect umsteigen.

Dieses Plugin entstand als Fork von @codetrix-studio/capacitor-google-auth. Das ursprüngliche Paket ist faktisch archiviert, daher pflegt Capgo dieses Plugin als offiziellen Nachfolger.

If you are still using @codetrix-studio/capacitor-google-authverwendest, folge bitte dem Migrationsleitfaden für das alte Google Auth.

Wenn du von Ionic Auth Connect migrierst, nutze den integrierten SocialLoginAuthConnect Wrapper für die auth0, azure, cognito, okta, und onelogin Provider-Namen:

Plugin-VersionCapacitor KompatibilitätGepflegt
v8.xv8.xJa
v7.xv7.xBei Bedarf
v6.xv6.xNein
v5.xv5.xNein

Die Hauptversion dieses Plugins folgt der Hauptversion von Capacitor. Nutze zum Beispiel Plugin v8 mit Capacitor 8. Nur die neueste Hauptversion wird aktiv gepflegt.

Sieh dir eine kurze Demo der Plugin-Einrichtung und des Login-Flows in Aktion an.

  • initialize - Plugin initialisieren.
  • login - Mit dem gewählten Provider einloggen.
  • logout - Ausloggen.
  • isLoggedIn IsLoggedIn.
MethodeBeschreibung
initializePlugin initialisieren.
loginMit dem gewählten Provider einloggen.
logoutAusloggen.
isLoggedInIsLoggedIn.
getAuthorizationCodeHol dir die aktuelle code der Autorisierung.
refreshDen Access Token erneuern.
refreshTokenOAuth2-Refresh-Token-Helper für den integrierten OAuth2-Provider.
handleRedirectCallbackNur Web: Verarbeitet den OAuth-Redirect-Callback und gibt das geparste Ergebnis zurück.
decodeIdTokenEin JWT (typischerweise ein OIDC ID Token) in seine Claims dekodieren.
getAccessTokenExpirationDateKonvertiere einen Zeitstempel für das Ablaufdatum eines Access-Tokens (Millisekunden seit Epoch) in einen ISO-Datumsstring.
isAccessTokenAvailablePrüfen, ob ein Access Token verfügbar (nicht leer) ist.
isAccessTokenExpiredPrüfen, ob ein Access Token abgelaufen ist.
isRefreshTokenAvailablePrüfen, ob ein Refresh Token verfügbar (nicht leer) ist.
providerSpecificCallProvider-spezifische Aufrufe ausführen.
getPluginVersionDie native Capacitor Plugin-Version abrufen.
openSecureWindowÖffnet ein gesichertes Fenster für die OAuth2-Authentifizierung. Im Web sollte code auf der Weiterleitungsseite vorhanden sein, um über einen Broadcast Channel die Weiterleitungs-URL an die App zu senden. Etwa so: 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> Für Mobile brauchst du eine Redirect-URI, die die App öffnet, etwa so: myapp://oauth_callback/ Und stelle sicher, dass du sie in der info.plist der App registrierst: xml <key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLSchemes</key> <array> <string>myapp</string> </array> </dict> </array> Und in der Datei 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> .

Diese Referenz wird synchronisiert von src/definitions.ts in capacitor-social-login.

Wenn du es nutzt @capgo/capacitor-social-login Um Authentifizierungs- und Account-Flows zu planen, verbinde es mit @capgo/capacitor-social-login verwenden für die native Funktion bei der Verwendung von @capgo/capacitor-social-login, @capgo/capacitor-passkey für die Implementierungsdetails in @capgo/capacitor-passkey, @capgo/capacitor-native-biometric für die Implementierungsdetails in @capgo/capacitor-native-biometric, Zwei-Faktor-Authentifizierung für die Implementierungsdetails zur Zwei-Faktor-Authentifizierung, und SSO (Enterprise) für die Implementierungsdetails zu SSO (Enterprise).