@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.
Notes de fork et de migration
Section intitulée « Notes de fork et de migration »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 :
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 « Vidéo de démonstration »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 de refresh-token OAuth2 pour le fournisseur OAuth2 intégré. |
handleRedirectCallback | Web uniquement : gère le callback de redirection OAuth et renvoie le résultat analysé. |
decodeIdToken | Décode un JWT (généralement un token ID OIDC) en ses claims. |
getAccessTokenExpirationDate | Convertit un timestamp d'expiration de token d'accès (millisecondes depuis l'epoch) en une chaîne de date ISO. |
isAccessTokenAvailable | Vérifie si un token d'accès est disponible (non vide). |
isAccessTokenExpired | Vérifie si un token d'accès est expiré. |
isRefreshTokenAvailable | Vérifie si un refresh token est disponible (non vide). |
providerSpecificCall | Exécute les appels spécifiques au provider. |
getPluginVersion | Récupérer 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 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> . |
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 avec @capgo/capacitor-social-login
Section intitulée « Continuer avec @capgo/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).