Getting Started
Kopieren Sie einen Setup-Vorschlag mit den Installationsanweisungen und der vollständigen Markdown-Anleitung für diesen 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.
Installation
Abschnitt mit dem Titel „Installation“Sie können unsere AI-gestützte Einrichtung verwenden, um das Plugin zu installieren. Fügen Sie die Capgo Fähigkeiten Ihrem AI-Tool mit der folgenden Befehl hinzu:
npx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-pluginsVerwenden Sie dann den folgenden Prompt:
Use the `capacitor-plugins` skill from `cap-go/capacitor-skills` to install the `@capgo/capacitor-social-login` plugin in my project.Wenn Sie die manuelle Einrichtung bevorzugen, installieren Sie das Plugin, indem Sie die folgenden Befehle ausführen und folgen Sie den Plattform-spezifischen Anweisungen unten:
-
Installieren Sie das Paket
Terminalfenster bun add @capgo/capacitor-social-login -
Synchronisieren mit native Projekten
Terminalfenster bunx cap sync -
In der App-Startphase initialisieren
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,},},});
Beispiel für den Kernfluss
Beitrag mit dem Titel “Beispiel für den Kernfluss”Anmeldung
Beitrag mit dem Titel “Anmeldung”await SocialLogin.login({ provider: 'google', options: { scopes: ['profile', 'email'] },});
await SocialLogin.login({ provider: 'oauth2', options: { providerId: 'github', scope: 'read:user user:email', },});Sitzungsprüfungen
Beitrag mit dem Titel “Sitzungsprüfungen”const status = await SocialLogin.isLoggedIn({ provider: 'google' });await SocialLogin.logout({ provider: 'google' });Auth-Codes und Refresh
Abschnitt: Auth-Codes und Refresh// For providers that support this modeconst authCodeResult = await SocialLogin.getAuthorizationCode({ provider: 'google' });await SocialLogin.refresh({ provider: 'google', options: {} as never });Erweiterte Hilfen
Abschnitt: Erweiterte Hilfenconst 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' });Anbieter-spezifische Hinweise
Abschnitt: Anbieter-spezifische HinweiseGoogle Offline-Modus
Abschnitt: Google Offline-Modusgoogle.mode: 'offline' returns serverAuthCode aus dem Login. In dieser Modus sind Logout, isLoggedIn, getAuthorizationCode und refresh nicht verfügbar.
Use serverAuthCode nur als Eingabe für Ihren Backend-Token-Wechsel. Wenn Sie einen Aufruf SocialLogin.refresh() im App verwenden google.mode: 'online' Apple
Set useProperTokenExchange: true für eine vereinfachte Einrichtung für Android. useBroadcastChannel: true OAuth2-Web-Redirect-Flow
Abschnitt mit dem Titel „OAuth2-Web-Redirect-Flow“
Section titled “OAuth2 web redirect flow”Use OAuth2LoginOptions.flow: 'redirect' für Web-Flows, die sich von der Seite entfernen.
Dynamische Anbieterabhängigkeiten
Sektion mit dem Titel „Dynamische Anbieterabhängigkeiten“Sie können die zu verwendenden Anbieter konfigurieren, um die Größe der nativen App zu reduzieren. Dies ist am nützlichsten, wenn Ihre App nur bestimmte Anbieter benötigt.
Hinzufügen von Anbieterkonfiguration zu 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;Wert der Anbieter bedeutet:
true: Der Anbieter ist aktiviert und seine nativen Abhängigkeiten werden gebündelt.false: Der Anbieter ist deaktiviert und seine nativen Abhängigkeiten werden nicht gebündelt.
Wichtige Details:
- Ausführen
bunx cap syncnachdem die Anbieterkonfiguration geändert wurde. - Wenn keine Anbieterkonfiguration bereitgestellt wird, gehen alle Anbieter auf
truefür die Rückwärtskompatibilität. - Ein Anbieter deaktivieren, indem man
falsemacht ihn auf der Laufzeit nicht verfügbar, selbst wenn dieser Anbieter nur System-APIs verwendet. - Diese Konfiguration wirkt sich nur auf iOS und Android aus, nicht auf Web.
- Apple Sign-In on Android uses OAuth without external SDK dependencies.
- Twitter/X uses standard OAuth 2.0 without external SDK dependencies.
Twitter/X verwendet standardmäßige OAuth 2.0 ohne externe
plugins: { SocialLogin: { providers: { google: true, facebook: false, apple: true, twitter: false, }, },}Zugehörige Dokumentation
Zur Vervollständigung in die Zwischenablage kopieren- Übersicht über die Integrations
- Bessere Auth-Integration
- OAuth2- und OIDC-Anbieter
- Fehlersuche
- Datenschutzmanifest und iOS-URL-Handler
- Migrieren von Ionic Auth Connect
- Auth Connect-Migration-Leitfaden für soziale Anmeldungen
- Migrieren von Legacy-Anbietern
- Migrationslösung für Ionic-Unternehmens-Plugins
Weitermachen von Getting Started
Section titled “Keep going from Getting Started”Wenn Sie Ionic Auth Connect verwenden Anfängsunterstützung um die Authentifizierung und die Kontoflussplanung zu planen, verbinden Sie es mit Mit @capgo/capacitor-social-login Für die native Fähigkeit in Mit @capgo/capacitor-social-login, @capgo/capacitor-Social-Login Für die Implementierungsdetail in @capgo/capacitor-social-login, @capgo/capacitor-Passkey Für die Implementierungsdetail in @capgo/capacitor-passkey, @capgo/capacitor-native-biometrisch Für die Implementierungsdetail in @capgo/capacitor-native-biometric, und Zwei-Faktor-Authentifizierung Für die Implementierungsdetail in Zwei-Faktor-Authentifizierung.