Migrazione di Autenticazione Google a @capgo/social-login
Copia un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
Panoramica
Sottosezione intitolata “Panoramica”Questa guida fornisce passaggi dettagliati per la migrazione da @codetrix-studio/capacitor-google-auth ad @capgo/capacitor-social-login, garantendo una transizione liscia e un'esperienza di autenticazione migliorata. Il nuovo plugin unifica i provider di autenticazione sociale multipli sotto un singolo e coerente API.
Installazione
Sottosezione intitolata “Installazione”-
Elimina il vecchio pacchetto:
Finestra del terminale npm uninstall @codetrix-studio/capacitor-google-auth -
Installa il nuovo pacchetto:
Finestra del terminale npm install @capgo/capacitor-social-loginnpx cap sync
Modifiche importanti nella configurazione di autenticazione di Google
Sezione intitolata “Modifiche importanti nella configurazione di autenticazione di Google”Requisito di ID del client web
Sezione intitolata “Requisito di ID del client web”Cambiamento critico: Il plugin aggiornato richiede l'utilizzo di un ID del client web su tutti i piattaforme.
Avrai bisogno di:
- Creare un ID del client Web nel Console di Google Cloud se non ne hai già uno (Come ottenere le credenziali)
- Usare questo ID del client Web nel
webClientIdcampo per tutte le piattaforme - Per Android, hai ancora bisogno di creare un ID del client Android con il tuo SHA1, ma questo è solo a scopo di verifica - il token non verrà utilizzato (Guida di configurazione per Android)
Code Modifiche
Sezione intitolata “Code Modifiche”Importa Modifiche
Sezione intitolata “Importa Modifiche”import { GoogleAuth } from '@codetrix-studio/capacitor-google-auth';import { SocialLogin } from '@capgo/capacitor-social-login';Inizializzazione
Sezione intitolata “Inizializzazione”La configurazione si trasforma da una semplice GoogleAuth.initialize() chiamata a una più strutturata SocialLogin.initialize() con configurazione Google nidificata:
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 }});Il metodo di accesso cambia da GoogleAuth.signIn() a SocialLogin.login() con specificazione esplicita del provider:
const user = await GoogleAuth.signIn();const res = await SocialLogin.login({ provider: 'google', options: { scopes: ['email', 'profile'], forceRefreshToken: true // if you need refresh token }});Modifiche Specifiche per Piattaforma
Sezione intitolata “Modifiche Specifiche per Piattaforma”Android
Sezione intitolata “Android”- Aggiorna il tuo
MainActivity.java(Guida completa per la configurazione di 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() {}}-
Nessuna modifica importante è necessaria in AppDelegate.swift (Guida di configurazione per iOS)
-
Aggiorna la tua configurazione in
capacitor.config.jsonNon utilizziamo più questo in plugin nuovo:
{ "plugins": { "GoogleAuth": { "scopes": ["profile", "email"], "serverClientId": "xxxxxx-xxxxxxxxxxxxxxxxxx.apps.googleusercontent.com", "forceCodeForRefreshToken": true }}- Elimina le mete di segno di accesso Google dai tuoi
index.htmlse li stavi utilizzando:
<meta name="google-signin-client_id" content="{your client id here}" /><meta name="google-signin-scope" content="profile email" />Modifiche al tipo di risposta
Sottosezione intitolata “Modifiche al tipo di risposta”La risposta di autenticazione fornisce ora un oggetto strutturato contenente informazioni sul provider, i token di accesso, i token ID e i dati del profilo utente:
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 struttura della risposta include:
- provider: Identifica il provider di autenticazione (
'google') - result.accessToken: Dettagli del token di accesso con scadenza
- result.idToken: Token di identificazione per l'autenticazione
- result.profile: Informazioni del profilo dell'utente, compreso l'indirizzo email, il nome e l'URL dell'immagine
Capacità aggiuntive
Sezione intitolata “Capacità aggiuntive”Il nuovo pacchetto supporta più provider di autenticazione sociale oltre a Google:
Questa approccio unificato fornisce:
- Consistenza API su tutti i provider
- Miglioramento del supporto per TypeScript
- Miglioramento della gestione degli errori
- Supporto di manutenzione attiva e supporto della community
Controlla il documento principale per le istruzioni di configurazione dettagliate per questi provider aggiuntivi.
Continua da Google Auth Migration a @capgo/social-login
Sezione intitolata “Continua da Google Auth Migration a @capgo/social-login”Se stai utilizzando Migrazione di autenticazione Google su @capgo/social-login per pianificare l'autenticazione e i flussi di account, connettilo con Usando @capgo/capacitor-social-login per la capacità nativa in Usando @capgo/capacitor-social-login, @capgo/capacitor-social-login per il dettaglio di implementazione in @capgo/capacitor-social-login, @capgo/capacitor-passkey per il dettaglio di implementazione in @capgo/capacitor-passkey, @capgo/capacitor-native-biometric per il dettaglio di implementazione in @capgo/capacitor-native-biometric, e Due-factor authentication per il dettaglio di implementazione in Due-factor authentication.