Google Auth-Migration zu @capgo/social-login
Ein Setup-Vorschlag mit den Installationsanweisungen und der vollständigen Markdown-Anleitung für diesen Plugin kopieren.
Übersicht
Abschnitt mit dem Titel „Übersicht“Diese Anleitung bietet umfassende Schritte für die Migration von @codetrix-studio/capacitor-google-auth Zu @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
Abschnitt: Installation-
Entfernen Sie das alte Paket:
Terminal-Fenster npm uninstall @codetrix-studio/capacitor-google-auth -
Installieren Sie das neue Paket:
Terminal-Fenster npm install @capgo/capacitor-social-loginnpx cap sync
Wichtige Änderungen bei der Google-Auth-Setup
Abschnitt: Wichtige Änderungen bei der Google-Auth-SetupAnforderung des Web-Client-IDs
Abschnitt: Anforderung des Web-Client-IDsKritischer Wechsel: Die aktualisierte Erweiterung erfordert die Verwendung eines Web Client IDs auf allen Plattformen.
Sie benötigen:
- Erstellen Sie einen Web Client ID im Google Cloud Console, wenn Sie keinen haben (Wie Sie die Zugriffsberechtigungen erhalten)
- Verwenden Sie diese Web Client ID in dem Feld für alle Plattformen
webClientIdFür Android müssen Sie jedoch weiterhin einen Android Client ID mit Ihrem SHA1 erstellen, aber dies dient nur zur Verifizierungszwecke - der Token wird nicht verwendet ( - Anleitung für Android__CAPGO_KEEP_0__ Änderungen)
Abschnitt mit dem Titel "Code Änderungen"
Section titled “Code Changes”__CAPGO_KEEP_0__
Abschnitt mit dem Titel “Änderungen importieren”import { GoogleAuth } from '@codetrix-studio/capacitor-google-auth';import { SocialLogin } from '@capgo/capacitor-social-login';Initialisierung
Abschnitt mit dem Titel “Initialisierung”Die Einrichtung wandelt sich von einer einfachen GoogleAuth.initialize() Anrufung zu einer strukturierten SocialLogin.initialize() mit einem verschachtelten Google-Konfiguration:
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 }});Die Anmelde Methode wandelt sich von GoogleAuth.signIn() zu SocialLogin.login() mit expliziter Anbieterangabe:
const user = await GoogleAuth.signIn();const res = await SocialLogin.login({ provider: 'google', options: { scopes: ['email', 'profile'], forceRefreshToken: true // if you need refresh token }});Plattformspezifische Änderungen
Abschnitt mit dem Titel „Plattformspezifische Änderungen“- Aktualisieren Sie Ihre
MainActivity.java(Vollständiger Anleitungsleitfaden für 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() {}}-
Keine größeren Änderungen erforderlich in AppDelegate.swift (iOS-Einrichtungsanleitung)
-
Aktualisieren Sie Ihre Konfiguration in
capacitor.config.json, wir verwenden es nicht in der neuen Plugin:
{ "plugins": { "GoogleAuth": { "scopes": ["profile", "email"], "serverClientId": "xxxxxx-xxxxxxxxxxxxxxxxxx.apps.googleusercontent.com", "forceCodeForRefreshToken": true }}- Entfernen Sie die Google-Sign-In-Meta-Tags aus Ihrem
index.htmlWenn Sie sie verwendet haben:
<meta name="google-signin-client_id" content="{your client id here}" /><meta name="google-signin-scope" content="profile email" />Änderungen im Antworttyp
Abschnitt mit dem Titel "Änderungen im Antworttyp"Die Authentifizierungsantwort liefert nun ein strukturiertes Objekt, das Anbieterinformationen, Zugriffstoken, ID-Tokens und Benutzerprofil-Daten enthält:
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; }; };}Die Antwortstruktur umfasst:
- provider: Identifiziert den Authentifizierungsanbieter (
'google') - result.accessToken: Zugriffstoken mit Ablaufdatum
- result.idToken: ID-Token für die Authentifizierung
- result.profile: Benutzerprofilinformationen einschließlich E-Mail, Name und Bild-URL
Zusätzliche Funktionen
Abschnitt mit dem Titel „Zusätzliche Funktionen“Das neue Paket unterstützt mehrere soziale Authentifizierungsanbieter über Google hinaus:
Diese einheitliche Ansicht bietet:
- Konsistente API bei allen Anbietern
- Verbesserte Unterstützung für TypeScript
- Bessere Fehlerbehandlung
- Aktive Wartung und Community-Unterstützung
Überprüfen Sie die Hauptdokumentation für detaillierte Einrichtungsanweisungen für diese zusätzlichen Anbieter.
Fahren Sie mit der Migration von Google Auth fort zu @capgo/social-login
Abschnitt mit dem Titel “Weitermachen von der Auth-Migration von Google zu @capgo/social-login”Wenn Sie die Auth-Migration von Google zu @__CAPGO_KEEP_0__/social-login verwenden Google Auth-Migration zu @capgo/social-login um die Authentifizierung und die Kontenflüsse zu planen, verbinden Sie sie mit Verwenden Sie @capgo/capacitor-social-login Verwenden Sie @capgo/capacitor-social-login für die native Fähigkeit in Verwenden Sie @capgo/capacitor-social-login @capgo/capacitor-social-login Verwenden Sie @capgo/capacitor-social-login für die Implementierungsdetails in @capgo/capacitor-social-login @capgo/capacitor-passkey Verwenden Sie @capgo/capacitor-passkey für die Implementierungsdetails in @capgo/capacitor-passkey @capgo/capacitor-native-biometric Verwenden Sie @capgo/capacitor-native-biometric für die Implementierungsdetails in @capgo/capacitor-native-biometric Zweifaktor-Authentifizierung für die Implementierungsdetails in der Zweifaktor-Authentifizierung.