Getting Started
Copiez un prompt de configuration avec les étapes d'installation et le guide markdown complet pour ce 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
Section intitulée “Installation”Vous pouvez utiliser notre configuration assistée par l'IA pour installer le plugin. Ajoutez les Capgo compétences à votre outil IA à l'aide de la commande suivante :
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsEnsuite, utilisez la prompt suivante :
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-social-login` plugin in my project.Si vous préférez la configuration manuelle, installez le plugin en exécutant les commandes suivantes et suivez les instructions spécifiques au plateforme ci-dessous :
-
Installer le package
Fenêtre de terminal bun add @capgo/capacitor-social-login -
Synchroniser avec les projets natifs
Fenêtre de terminal bunx cap sync -
Initialiser à l'arrêt de l'application
import { SocialLogin } from '@capgo/capacitor-social-login';await SocialLogin.initialize({google: {webClientId: 'your-google-web-client-id',iOSServerClientId: 'your-google-server-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,},},});
Exemples de flux de base
Section intitulée “Exemples de flux de base”Connexion
Section intitulée “Connexion”await SocialLogin.login({ provider: 'google', options: { scopes: ['profile', 'email'] },});
await SocialLogin.login({ provider: 'oauth2', options: { providerId: 'github', scope: 'read:user user:email', },});Contrôles de session
Section intitulée “Contrôles de session”const status = await SocialLogin.isLoggedIn({ provider: 'google' });await SocialLogin.logout({ provider: 'google' });Codes d'authentification et de rappel
Section intitulée “Codes d'authentification et de rappel”// For providers that support this modeconst authCodeResult = await SocialLogin.getAuthorizationCode({ provider: 'google' });await SocialLogin.refresh({ provider: 'google', options: {} as never });Aide avancée
Section intitulée “Aide avancée”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' });Notes spécifiques au fournisseur
Section intitulée “Notes spécifiques au fournisseur”Mode hors ligne de Google
Section intitulée “Mode hors ligne de Google”google.mode: 'offline' renvoie serverAuthCode à partir de la connexion. Dans ce mode, déconnexion, isLoggedIn, getAuthorizationCode et refresh ne sont pas disponibles.
Utilisez serverAuthCode seulement en tant qu'entrée pour l'échange de jetons de votre backend. Si vous avez besoin d'appeler SocialLogin.refresh() dans l'application, utilisez google.mode: 'online' au lieu.
Définissez useProperTokenExchange: true pour un traitement strict des jetons et useBroadcastChannel: true pour Android un paramétrage simplifié.
Flux de redirection OAuth2 web
Section intitulée “Flux de redirection OAuth2 web”Utilisez OAuth2LoginOptions.flow: 'redirect' pour les flux web qui se déplacent loin de la page.
La configuration du fournisseur dans Capacitor
Section intitulée “La configuration du fournisseur dans Capacitor”Vous pouvez désactiver les fournisseurs non utilisés pour réduire les binaires natifs :
import type { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = { appId: 'com.example.app', appName: 'My App', webDir: 'dist', plugins: { SocialLogin: { providers: { google: true, facebook: true, apple: true, twitter: false, }, }, },};Documentation connexe
Section intitulée “Documentation connexe”- Présentation des intégrations
- Meilleure intégration Auth
- Fournisseurs OAuth2 et OIDC
- Guide de migration de Ionic Auth Connect
- Guide de migration de l'intégration Auth Connect de Social Login
- Migrer les fournisseurs legacy
- Solution de migration des plugins Ionic Enterprise
Continuez de l'étape « Getting Started »
Section intitulée « Continuez de l'étape « Getting Started » »Si vous utilisez Getting Started pour planifier l'authentification et les flux de compte, connectez-le avec En utilisant @capgo/capacitor-social-login pour la capacité native dans En utilisant @capgo/capacitor-social-login, @capgo/capacitor-social-login pour le détail d'implémentation dans @capgo/capacitor-social-login, @capgo/capacitor-passkey pour les détails d'implémentation dans @capgo/capacitor-passkey, @capgo/capacitor-native-biometric pour les détails d'implémentation dans @capgo/capacitor-native-biometric, et L'authentification à deux facteurs pour les détails d'implémentation dans L'authentification à deux facteurs.