@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.
Notes sur le fork et la migration
Section intitulée « Notes sur le fork et la migration »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 :
Compatibilité
Section intitulée « Compatibilité »| Version du plugin | Compatibilité Capacitor | Maintenu |
|---|---|---|
| v8.x | v8.x | Oui |
| v7.x | v7.x | À la demande |
| v6.x | v6.x | Non |
| v5.x | v5.x | Non |
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.
Vidéo de démonstration
Section intitulée « Video Walkthrough »Regardez une démo rapide de la configuration du plugin et du flux de connexion en action.
Fonctionnalités clés
Section intitulée « Fonctionnalités clés »initialize- Initialiser le plugin.login- Se connecter avec le fournisseur sélectionné.logout- Se déconnecter.isLoggedIn- IsLoggedIn.
API public
Section intitulée « Public API »| Méthode | Description |
|---|---|
initialize | Initialiser le plugin. |
login | Se connecter avec le fournisseur sélectionné. |
logout | Se déconnecter. |
isLoggedIn | IsLoggedIn. |
getAuthorizationCode | Récupérer le code d'autorisation actuel. |
refresh | Rafraîchir le token d'accès. |
refreshToken | Helper OAuth2 refresh-token pour le fournisseur OAuth2 intégré. |
handleRedirectCallback | Web uniquement : gérer le callback de redirection OAuth et renvoyer le résultat analysé. |
decodeIdToken | Décoder un JWT (généralement un token ID OIDC) en ses claims. |
getAccessTokenExpirationDate | Convertir un timestamp d'expiration de token d'accès (ms depuis l'epoch) en chaîne de date ISO. |
isAccessTokenAvailable | Vérifier si un token d'accès est disponible (non vide). |
isAccessTokenExpired | Vérifier si un token d'accès est expiré. |
isRefreshTokenAvailable | Vérifier si un refresh token est disponible (non vide). |
providerSpecificCall | Exécuter des appels spécifiques au fournisseur. |
getPluginVersion | Récupère la version du plugin natif Capacitor. |
openSecureWindow | Ouvre 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> . |
Source de vérité
Section intitulée « Source de vérité »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).