Übersicht
Abschnitt: „Übersicht“@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.
Fork- und Migrationshinweise
Abschnitt: „Fork- und Migrationshinweise“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:
Kompatibilität
Abschnitt mit dem Titel „Kompatibilität“| Plugin-Version | Capacitor Kompatibilität | Gepflegt |
|---|---|---|
| v8.x | v8.x | Ja |
| v7.x | v7.x | Bei Bedarf |
| v6.x | v6.x | Nein |
| v5.x | v5.x | Nein |
Die Hauptversion dieses Plugins folgt der Hauptversion von Capacitor. Nutze zum Beispiel Plugin v8 mit Capacitor 8. Nur die neueste Hauptversion wird aktiv gepflegt.
Video-Walkthrough
Abschnitt mit dem Titel „Video-Walkthrough“Sieh dir eine kurze Demo der Plugin-Einrichtung und des Login-Flows in Aktion an.
Kernfunktionen
Abschnitt mit dem Titel „Kernfunktionen“initialize- Plugin initialisieren.login- Mit dem gewählten Provider einloggen.logout- Ausloggen.isLoggedInIsLoggedIn.
Öffentliches API
Abschnitt mit dem Titel „Öffentliche API“| Methode | Beschreibung |
|---|---|
initialize | Plugin initialisieren. |
login | Mit dem gewählten Provider einloggen. |
logout | Ausloggen. |
isLoggedIn | IsLoggedIn. |
getAuthorizationCode | Hol dir die aktuelle code der Autorisierung. |
refresh | Den Access Token erneuern. |
refreshToken | OAuth2-Refresh-Token-Helper für den integrierten OAuth2-Provider. |
handleRedirectCallback | Nur Web: Verarbeitet den OAuth-Redirect-Callback und gibt das geparste Ergebnis zurück. |
decodeIdToken | Ein JWT (typischerweise ein OIDC ID Token) in seine Claims dekodieren. |
getAccessTokenExpirationDate | Konvertiere einen Zeitstempel für das Ablaufdatum eines Access-Tokens (Millisekunden seit Epoch) in einen ISO-Datumsstring. |
isAccessTokenAvailable | Prüfen, ob ein Access Token verfügbar (nicht leer) ist. |
isAccessTokenExpired | Prüfen, ob ein Access Token abgelaufen ist. |
isRefreshTokenAvailable | Prüfen, ob ein Refresh Token verfügbar (nicht leer) ist. |
providerSpecificCall | Provider-spezifische Aufrufe ausführen. |
getPluginVersion | Die 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> . |
Source of Truth
Abschnitt mit dem Titel „Source of Truth“Diese Referenz wird synchronisiert von src/definitions.ts in capacitor-social-login.
Weiter mit @capgo/capacitor-social-login
Abschnitt mit dem Titel „Weiter mit @capgo/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).