Vollständiger Leitfaden zur Authentifizierung von Drittanbietern in Flutter mit Parse auf Back4App
Die Integration von Authentifizierungsmethoden von Drittanbietern wie Facebook, Google und Apple in Ihre Flutter-App kann das Benutzererlebnis erheblich verbessern, indem flexible und bequeme Anmeldeoptionen bereitgestellt werden. Parse Server, betrieben von Back4App, bietet integrierte Unterstützung für diese Authentifizierungsanbieter. In diesem Tutorial lernen Sie, wie Sie die Authentifizierung von Drittanbietern in Ihrer Flutter-App mit dem Parse SDK auf Back4App implementieren.
Am Ende dieses Tutorials haben Sie eine Flutter-App mit voll funktionsfähigen Anmelde- und Registrierungsfunktionen, die Folgendes umfassen:
- Standard-E-Mail/Passwort-Authentifizierung mit Parse.
- Authentifizierungsmethoden von Drittanbietern:
- Facebook
- Google
- Apple
Um diesem Tutorial zu folgen, benötigen Sie Folgendes:
- Eine Flutter-Entwicklungsumgebung auf Ihrem Computer installiert. Folgen Sie diesem Leitfaden, wenn Sie Hilfe bei der Einrichtung von Flutter benötigen.
- Entwicklerkonten für Facebook, Google und Apple (erforderlich für die Einrichtung von Anmeldemethoden von Drittanbietern).
- Eine IDE oder einen Texteditor wie Visual Studio Code oder Android Studio.
- Klicken Sie auf "Neue App erstellen".
- Geben Sie einen Namen für Ihre Anwendung ein, z.B. "AuthDemo", und klicken Sie auf "Erstellen".
- Sobald das Projekt erstellt ist, navigieren Sie zu App-Einstellungen > Sicherheit & Schlüssel.
- Notieren Sie sich Ihre Anwendungs-ID und Client-Schlüssel. Sie benötigen diese Werte, um Parse in Ihrer Flutter-App zu initialisieren.
- Navigieren Sie in Ihrem Back4App-Dashboard zu Servereinstellungen > Authentifizierung.
- Aktivieren Sie die Authentifizierungsmethoden, die Sie verwenden möchten:
- Facebook
- Google
- Apple
- Für jeden Anbieter müssen Sie spezifische Anmeldeinformationen (App-IDs, Client-IDs, Geheimnisse usw.) eingeben, die in den kommenden Schritten eingerichtet werden.
Öffnen Sie Ihr Terminal und erstellen Sie ein neues Flutter-Projekt:
Öffnen Sie pubspec.yaml und fügen Sie die folgenden Abhängigkeiten für Parse und Drittanbieter-Anmeldeoptionen hinzu:
Führen Sie flutter pub get aus, um die Abhängigkeiten zu installieren.
Importieren Sie im lib/main.dart-Datei das Parse SDK und initialisieren Sie es in der main-Funktion:
- Ersetzen Sie 'YOUR_APP_ID' und 'YOUR_CLIENT_KEY' durch Ihre tatsächlichen Back4App-Anmeldeinformationen aus Schritt 1.
Erstellen Sie ein neues Verzeichnis namens services unter lib und fügen Sie eine Datei mit dem Namen auth_service.dart. Dieser Dienst wird die Benutzerregistrierung und -anmeldung mit Parse verwalten.
Erstellen Sie ein neues Verzeichnis namens screens unter lib und fügen Sie eine Datei mit dem Namen auth_screen.dart. Dieser Bildschirm bietet die Benutzeroberfläche für die Standardauthentifizierung.
- Erstellen Sie eine Facebook-App:
- Klicken Sie auf "Meine Apps" und dann "App erstellen".
- Wählen Sie "Verbraucher" als den App-Typ und klicken Sie "Weiter".
- Füllen Sie das App-Name und Kontakt-E-Mail, dann klicken Sie auf "App erstellen".
- Fügen Sie Facebook-Login zu Ihrer App hinzu:
- Navigieren Sie in Ihrem App-Dashboard zu "Produkt hinzufügen" und wählen Sie "Facebook-Login" aus.
- Wählen Sie "Android" und/oder "iOS" je nach Ihrer Zielplattform.
- Befolgen Sie die von Facebook bereitgestellten Einrichtungsschritte. Sie benötigen die Bundle-ID Ihrer App für iOS und Paketname für Android.
- OAuth-Redirect-URI konfigurieren:
- Setzen Sie die OAuth-Umleitungs-URI auf: https://parseapi.back4app.com/auth/facebook/callback
- App-ID und App-Geheimnis erhalten:
- Gehe in deinem App-Dashboard zu "Einstellungen" > "Basis".
- Notieren Sie sich die App-ID und App-Secret.
- App-ID und Geheimnis zu Back4App hinzufügen:
- Im Back4App-Dashboard navigieren Sie zu Servereinstellungen > Authentifizierung.
- Unter Facebook, geben Sie Ihre App-ID und App-Geheimnis ein.
Fügen Sie den folgenden Code hinzu, um die Facebook-Authentifizierung zu handhaben:
Fügen Sie die folgende Schaltfläche zu Ihrer Benutzeroberfläche hinzu:
- Aktualisieren Sie Ihre android/app/src/main/AndroidManifest.xml:
- Fügen Sie Ihre Facebook-App-ID zu android/app/src/main/res/values/strings.xml:
- Aktualisieren Sie Ihre Info.plist-Datei:
- Ein Projekt in der Google Cloud Console erstellen:
- OAuth-Zustimmungsbildschirm konfigurieren:
- Navigiere zu APIs & Dienste > OAuth-Zustimmungsbildschirm.
- Richte den Zustimmungsbildschirm mit den erforderlichen Berechtigungen ein.
- OAuth-Client-ID erstellen:
- Gehe zu Anmeldeinformationen > Anmeldeinformationen erstellen > OAuth-Client-ID.
- Wähle Webanwendung.
- Füge Autorisierte Umleitungs-URIs: https://parseapi.back4app.com/auth/google/callback
- Notiere die Client-ID und Client-Secret.
- Füge die Client-ID und das Secret zu Back4App hinzu:
- Im Back4App-Dashboard, unter Servereinstellungen > Authentifizierung, gib deine Client-ID und Client-Secret für Google ein.
Fügen Sie den folgenden Code hinzu, um die Google-Authentifizierung zu handhaben:
Fügen Sie die folgende Schaltfläche zu Ihrer Benutzeroberfläche hinzu:
- Fügen Sie Folgendes zu Ihrer android/app/build.gradle Datei hinzu:
- Fügen Sie Ihre Google Client-ID zu android/app/src/main/res/values/strings.xml:
- Aktualisieren Sie Ihre android/app/src/main/AndroidManifest.xml:
- Fügen Sie die umgekehrte Client-ID zu Ihrer Info.plist:
- Registriere deine App:
- Aktiviere die Anmeldung mit Apple:
- Unter Identifiers, wähle deine App aus und aktiviere die Anmeldung mit Apple.
- Erstelle eine Services-ID:
- Erstelle eine Services-ID für deine App.
- Setze die Redirect-URI auf: https://parseapi.back4app.com/auth/apple/callback
- Generiere ein Client Secret:
- Erstelle einen Sign in with Apple privaten Schlüssel.
- Verwende diesen Schlüssel, um ein Client Secret zu generieren.
- Füge Anmeldeinformationen zu Back4App hinzu:
- Im Back4App-Dashboard, unter Servereinstellungen > Authentifizierung, gib deine Services-ID und dein Client Secret für Apple ein.
Fügen Sie den folgenden Code hinzu, um die Apple-Authentifizierung zu behandeln:
Fügen Sie den folgenden Button zu Ihrer Benutzeroberfläche hinzu:
- Öffnen Sie Ihr Projekt in Xcode und gehen Sie zu Signing & Capabilities.
- Klicken Sie auf "+ Capability" und fügen Sie "Sign in with Apple" hinzu.
- Stellen Sie sicher, dass Ihr Bundle Identifier mit dem auf dem Apple Developer Portal registrierten übereinstimmt.
Jetzt, da Sie alle Authentifizierungsmethoden eingerichtet haben, können Sie Ihre App ausführen und jede Anmeldemöglichkeit testen.
- Für iOS müssen Sie die App auf einem echten Gerät ausführen, um die Anmeldung mit Apple zu testen.
- Für Android können Sie einen Emulator oder ein physisches Gerät verwenden.
- Geben Sie einen Benutzernamen, eine E-Mail und ein Passwort ein.
- Tippen Sie auf "Registrieren" um einen neuen Benutzer zu erstellen.
- Tippen Sie auf "Anmelden" um sich mit den erstellten Anmeldedaten anzumelden.
- Tippen Sie auf "Mit Facebook anmelden".
- Ein Facebook-Anmeldebildschirm wird angezeigt.
- Melden Sie sich mit Ihren Facebook-Anmeldeinformationen an.
- Tippen Sie auf "Mit Google anmelden".
- Ein Google-Anmeldebildschirm wird angezeigt.
- Melden Sie sich mit Ihrem Google-Konto an.
- Tippen Sie auf "Mit Apple anmelden".
- Die Apple-Anmeldeaufforderung wird angezeigt.
- Authentifizieren Sie sich mit Ihrer Apple-ID.
In diesem Tutorial haben Sie erfolgreich die Standard-E-Mail/Passwort-Authentifizierung implementiert und Drittanbieter-Authentifizierungsmethoden (Facebook, Google und Apple) in Ihre Flutter-App mit dem Parse SDK auf Back4App integriert. Dieses Setup verbessert die Benutzererfahrung, indem es mehrere bequeme Anmeldemöglichkeiten bietet.
- Benutzerprofile: Erweitern Sie die App, um Benutzerprofile zu verwalten, damit Benutzer ihre Informationen aktualisieren können.
- Abmeldefunktionalität: Implementieren Sie Abmeldefunktionen für jede Authentifizierungsmethode.
- Datensicherheit: Sichern Sie Ihre Daten, indem Sie rollenbasierte Zugriffskontrolle mit Parse ACLs und Rollen implementieren.
- Fehlerbehandlung: Verbessern Sie die Fehlerbehandlung, um den Benutzern detailliertere Rückmeldungen zu geben.
- UI-Verbesserungen: Passen Sie die Benutzeroberfläche an das Branding Ihrer App an und verbessern Sie die Benutzererfahrung.
Viel Spaß beim Programmieren!