Aller au contenu

@capgo/capacitor-social-login

Tous les logins sociaux dans un seul plugin.

@capgo/capacitor-social-login est le plugin d'authentification sociale tout-en-un pour le Web, iOS et Android.

Il implémente :

  • Google Sign-In avec Android Credential Manager
  • Sign in with Apple, y compris OAuth sur Android
  • Facebook Login avec le SDK Facebook actuel
  • Twitter/X via OAuth 2.0
  • Fournisseurs OAuth2 et OIDC génériques, y compris GitHub, Microsoft Entra ID, Auth0, Okta, Keycloak et d'autres serveurs compatibles

C'est aussi le parcours de migration Capgo pour les apps qui passent d'Ionic Appflow Social Login ou d'Ionic Auth Connect.

Ce plugin est né comme un fork de @codetrix-studio/capacitor-google-auth. Le package d’origine est en pratique archivé, Capgo maintient donc ce plugin comme remplacement pris en charge.

Si vous utilisez encore @codetrix-studio/capacitor-google-auth, suivez le guide de migration Google Auth legacy.

Si vous migrez depuis Ionic Auth Connect, utilisez le SocialLoginAuthConnect wrapper intégré pour le auth0, azure, cognito, okta, et onelogin noms de fournisseurs :

Version du pluginCompatibilité CapacitorMaintenu
v8.xv8.xOui
v7.xv7.xÀ la demande
v6.xv6.xNon
v5.xv5.xNon

La version majeure de ce plugin suit la version majeure de Capacitor. Par exemple, utilisez le plugin v8 avec Capacitor 8. Seule la dernière version majeure est activement maintenue.

Regardez une démo rapide de la configuration du plugin et du flux de connexion en action.

  • initialize - Initialiser le plugin.
  • login - Se connecter avec le fournisseur sélectionné.
  • logout - Se déconnecter.
  • isLoggedIn - IsLoggedIn.
MéthodeDescription
initializeInitialiser le plugin.
loginSe connecter avec le fournisseur sélectionné.
logoutSe déconnecter.
isLoggedInIsLoggedIn.
getAuthorizationCodeRécupérer le code d'autorisation actuel.
refreshRafraîchir le token d'accès.
refreshTokenHelper OAuth2 refresh-token pour le fournisseur OAuth2 intégré.
handleRedirectCallbackWeb uniquement : gérer le callback de redirection OAuth et renvoyer le résultat analysé.
decodeIdTokenDécoder un JWT (généralement un token ID OIDC) en ses claims.
getAccessTokenExpirationDateConvertir un timestamp d'expiration de token d'accès (ms depuis l'epoch) en chaîne de date ISO.
isAccessTokenAvailableVérifier si un token d'accès est disponible (non vide).
isAccessTokenExpiredVérifier si un token d'accès est expiré.
isRefreshTokenAvailableVérifier si un refresh token est disponible (non vide).
providerSpecificCallExécuter des appels spécifiques au fournisseur.
getPluginVersionRécupère la version du plugin natif Capacitor.
openSecureWindowOuvre une fenêtre sécurisée pour l’authentification OAuth2. Pour le web, vous devez avoir le code dans la page redirigée afin d’utiliser un canal de diffusion pour envoyer l’URL redirigée à l’application. Quelque chose comme : 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> Pour le mobile, vous devez avoir une URI de redirection qui ouvre l'application, comme ceci : myapp://oauth_callback/ Et veillez à l'enregistrer dans le fichier info.plist de l'application : xml <key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLSchemes</key> <array> <string>myapp</string> </array> </dict> </array> Et dans le fichier 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> .

Cette référence est synchronisée depuis src/definitions.ts dans capacitor-social-login.

Continuer depuis @capgo/capacitor-social-login

Section intitulée « Continuez avec @capgo/capacitor-social-login »

Si vous utilisez @capgo/capacitor-social-login pour planifier les flux d'authentification et de compte, le connecter à Utiliser @capgo/capacitor-social-login pour la capacité native dans Utiliser @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, Authentification à deux facteurs pour les détails d'implémentation dans l'authentification à deux facteurs, et SSO (Entreprise) pour les détails d'implémentation dans le SSO (Enterprise).