Aller au contenu

@capgo/capacitor-social-login

Tous les social logins 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 également la voie de migration Capgo pour les apps qui passent d'Ionic Appflow Social Login ou Ionic Auth Connect.

Ce plugin est né comme un fork de @codetrix-studio/capacitor-google-auth. Le package d'origine est de fait archivé, c'est donc Capgo qui maintient ce plugin comme remplacement supporté.

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

Si vous migrez depuis Ionic Auth Connect, utilisez le SocialLoginAuthConnect wrapper pour les auth0, azure, cognito, okta, et onelogin noms de provider :

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 de refresh-token OAuth2 pour le fournisseur OAuth2 intégré.
handleRedirectCallbackWeb uniquement : gère le callback de redirection OAuth et renvoie le résultat analysé.
decodeIdTokenDécode un JWT (généralement un token ID OIDC) en ses claims.
getAccessTokenExpirationDateConvertit un timestamp d'expiration de token d'accès (millisecondes depuis l'epoch) en une chaîne de date ISO.
isAccessTokenAvailableVérifie si un token d'accès est disponible (non vide).
isAccessTokenExpiredVérifie si un token d'accès est expiré.
isRefreshTokenAvailableVérifie si un refresh token est disponible (non vide).
providerSpecificCallExécute les appels spécifiques au provider.
getPluginVersionRécupérer 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 de redirection pour utiliser un canal de broadcast afin d'envoyer l'URL de redirection à l'app. 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'app, comme ceci : myapp://oauth_callback/ Et assurez-vous de l'enregistrer dans le fichier info.plist de l'app : 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.

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