Migration d'authentification Google vers @capgo/social-login
Copiez un prompt de configuration avec les étapes d'installation et la guide markdown complet pour ce plugin.
Vue d'ensemble
Section intitulée « Vue d'ensemble »Cette guide fournit des étapes complètes pour la migration de @codetrix-studio/capacitor-google-auth Vers @capgo/capacitor-social-login, ensuring a smooth transition and improved authentication experience. The new plugin unifies multiple social authentication providers under a single, consistent API.
Installation
Section intitulée « Installation »-
Supprimez l'ancien package :
Fenêtre de terminal npm uninstall @codetrix-studio/capacitor-google-auth -
Installez le nouveau package :
Fenêtre de terminal npm install @capgo/capacitor-social-loginnpx cap sync
Changements importants dans la configuration d'authentification Google
Section intitulée « Changements importants dans la configuration d'authentification Google »Exigence du Client Web ID
Section intitulée « Exigence du Client Web ID »Changement critique: La mise à jour du plugin nécessite l'utilisation d'un ID de client Web sur tous les plateformes.
Vous aurez besoin de :
- Créez un ID de client Web dans le console Google Cloud si vous n'en avez pas un (Obtenir les informations d'identification)
- Utilisez cet ID de client Web dans le
webClientIdchamp pour toutes les plateformes - Pour Android, vous devez toujours créer un ID de client Android avec votre SHA1, mais cela est uniquement pour des raisons de vérification - le jeton ne sera pas utilisé (guide de configuration Android)
Changements Code
Section intitulée « Changements Code »Importer les changements
Section intitulée « Mises à jour »import { GoogleAuth } from '@codetrix-studio/capacitor-google-auth';import { SocialLogin } from '@capgo/capacitor-social-login';Initialisation
Section intitulée « Initialisation »La configuration passe d'une simple GoogleAuth.initialize() appel à une structure plus complexe SocialLogin.initialize() avec une configuration Google imbriquée :
GoogleAuth.initialize({ clientId: 'CLIENT_ID.apps.googleusercontent.com', scopes: ['profile', 'email'], grantOfflineAccess: true,});
await SocialLogin.initialize({ google: { webClientId: 'WEB_CLIENT_ID.apps.googleusercontent.com', // Use Web Client ID for all platforms iOSClientId: 'IOS_CLIENT_ID', // for iOS mode: 'offline' // replaces grantOfflineAccess }});Se connecter
Section intitulée « Se connecter »La méthode de connexion passe de GoogleAuth.signIn() à SocialLogin.login() avec une spécification de fournisseur explicite :
const user = await GoogleAuth.signIn();const res = await SocialLogin.login({ provider: 'google', options: { scopes: ['email', 'profile'], forceRefreshToken: true // if you need refresh token }});Changements spécifiques à la plateforme
Section intitulée « Changements spécifiques à la plateforme »- Mettez à jour votre
MainActivity.java(Guide complet de configuration Android):
import ee.forgr.capacitor.social.login.GoogleProvider; import ee.forgr.capacitor.social.login.SocialLoginPlugin; import ee.forgr.capacitor.social.login.ModifiedMainActivityForSocialLoginPlugin; import com.getcapacitor.PluginHandle; import com.getcapacitor.Plugin; import android.content.Intent; import android.util.Log;
public class MainActivity extends BridgeActivity { public class MainActivity extends BridgeActivity implements ModifiedMainActivityForSocialLoginPlugin {
@Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data);
if (requestCode >= GoogleProvider.REQUEST_AUTHORIZE_GOOGLE_MIN && requestCode < GoogleProvider.REQUEST_AUTHORIZE_GOOGLE_MAX) { PluginHandle pluginHandle = getBridge().getPlugin("SocialLogin"); if (pluginHandle == null) { Log.i("Google Activity Result", "SocialLogin login handle is null"); return; } Plugin plugin = pluginHandle.getInstance(); if (!(plugin instanceof SocialLoginPlugin)) { Log.i("Google Activity Result", "SocialLogin plugin instance is not SocialLoginPlugin"); return; } ((SocialLoginPlugin) plugin).handleGoogleLoginIntent(requestCode, data); } }
public void IHaveModifiedTheMainActivityForTheUseWithSocialLoginPlugin() {}}-
Aucun changement majeur nécessaire dans AppDelegate.swift (Guide de configuration iOS)
-
Mettez à jour votre configuration dans
capacitor.config.jsonNous ne l'utilisons plus dans le nouveau plugin :
{ "plugins": { "GoogleAuth": { "scopes": ["profile", "email"], "serverClientId": "xxxxxx-xxxxxxxxxxxxxxxxxx.apps.googleusercontent.com", "forceCodeForRefreshToken": true }}- Supprimez les balises de connexion Google Sign-In de votre
index.htmlsi vous les utilisiez :
<meta name="google-signin-client_id" content="{your client id here}" /><meta name="google-signin-scope" content="profile email" />Changements de type de réponse
Section intitulée « Changements de type de réponse »La réponse d'authentification fournit maintenant un objet structuré contenant des informations du fournisseur, des jetons d'accès, des jetons d'ID et des données de profil de l'utilisateur :
interface GoogleLoginResponse { provider: 'google'; result: { accessToken: { token: string; expires: string; // ... other token fields } | null; idToken: string | null; profile: { email: string | null; familyName: string | null; givenName: string | null; id: string | null; name: string | null; imageUrl: string | null; }; };}La structure de la réponse comprend :
- provider: Identifie le fournisseur d'authentification (
'google') - result.accessToken: Détails de l'jeton d'accès avec expiration
- result.idToken: Jeton d'identification pour l'authentification
- result.profile: Informations de profil de l'utilisateur, y compris l'adresse e-mail, le nom et l'URL de l'image
Capacités supplémentaires
Section intitulée « Capacités supplémentaires »Le nouveau package prend en charge plusieurs fournisseurs d'authentification sociale au-delà de Google :
Cette approche unifiée offre :
- Une cohérence API sur tous les fournisseurs
- Une meilleure prise en charge de TypeScript
- Une meilleure gestion des erreurs
- Une maintenance active et un soutien communautaire
Vérifiez la documentation principale pour des instructions de mise en œuvre détaillées pour ces fournisseurs supplémentaires.
Continuez de la migration d'authentification Google à @capgo/social-login
Maintenez la progression de la migration d'authentification Google vers @capgo/social-loginSi vous utilisez La migration d'authentification Google vers @capgo/social-login pour planifier les flux d'authentification et de compte, connectez-l’à Utilisez @capgo/capacitor-social-login pour la capacité native dans Utilisez @capgo/capacitor-social-login, @capgo/capacitor-social-login pour le détail d'implémentation dans @capgo/capacitor-social-login, @capgo/capacitor-passkey pour le détail d'implémentation dans @capgo/capacitor-passkey, @capgo/capacitor-native-biometric pour le détail d'implémentation dans @capgo/capacitor-native-biometric, et Authentification à deux facteurs pour les détails d'implémentation dans Authentification à deux facteurs.