Mehr

Vollständiger Leitfaden zur Authentifizierung von Drittanbietern in Flutter mit Parse auf Back4App

43min

Einführung

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:

  1. Standard-E-Mail/Passwort-Authentifizierung mit Parse.
  2. Authentifizierungsmethoden von Drittanbietern:
    • Facebook
    • Google
    • Apple

Voraussetzungen

Um diesem Tutorial zu folgen, benötigen Sie Folgendes:

  • Ein Back4App-Konto. Melden Sie sich für ein kostenloses Konto bei Back4App an.
  • Eine Flutter-Entwicklungsumgebung auf Ihrem Computer installiert. Folgen Sie diesem Leitfaden, wenn Sie Hilfe bei der Einrichtung von Flutter benötigen.
  • Grundkenntnisse in Flutter und Dart. Wenn Sie neu sind, schauen Sie sich Flutters Einführung an.
  • 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.

Schritt 1 – Einrichten Ihres Back4App Backends

1.1. Erstellen eines Back4App Projekts

  1. Melden Sie sich bei Ihrem Back4App-Dashboard an.
  2. Klicken Sie auf "Neue App erstellen".
  3. Geben Sie einen Namen für Ihre Anwendung ein, z.B. "AuthDemo", und klicken Sie auf "Erstellen".
  4. Sobald das Projekt erstellt ist, navigieren Sie zu App-Einstellungen > Sicherheit & Schlüssel.
  5. Notieren Sie sich Ihre Anwendungs-ID und Client-Schlüssel. Sie benötigen diese Werte, um Parse in Ihrer Flutter-App zu initialisieren.

1.2. Aktivieren von Authentifizierungsanbietern

  1. Navigieren Sie in Ihrem Back4App-Dashboard zu Servereinstellungen > Authentifizierung.
  2. Aktivieren Sie die Authentifizierungsmethoden, die Sie verwenden möchten:
    • Facebook
    • Google
    • Apple
  3. Für jeden Anbieter müssen Sie spezifische Anmeldeinformationen (App-IDs, Client-IDs, Geheimnisse usw.) eingeben, die in den kommenden Schritten eingerichtet werden.

Schritt 2 – Installieren und Einrichten des Parse SDK in Flutter

2.1. Erstellen Sie ein neues Flutter-Projekt

Öffnen Sie Ihr Terminal und erstellen Sie ein neues Flutter-Projekt:

Bash


2.2. Abhängigkeiten hinzufügen

Öffnen Sie pubspec.yaml und fügen Sie die folgenden Abhängigkeiten für Parse und Drittanbieter-Anmeldeoptionen hinzu:

YAML


Führen Sie flutter pub get aus, um die Abhängigkeiten zu installieren.

2.3. Parse in main.dart

Importieren Sie im lib/main.dart-Datei das Parse SDK und initialisieren Sie es in der main-Funktion:

Dart

  • Ersetzen Sie 'YOUR_APP_ID' und 'YOUR_CLIENT_KEY' durch Ihre tatsächlichen Back4App-Anmeldeinformationen aus Schritt 1.

Schritt 3 – Implementierung der Standardauthentifizierung

3.1. Erstellen Sie den Authentifizierungsdienst

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.

Dart


3.2. Erstellen Sie den Authentifizierungsbildschirm

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.

Dart


Schritt 4 – Integration der Facebook-Authentifizierung

4.1. Facebook-Entwicklerkonto einrichten

  1. Erstellen Sie eine Facebook-App:
    • Gehe zu Facebook für Entwickler und melde dich an.
    • 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".
  2. 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.
  3. OAuth-Redirect-URI konfigurieren:
    • Setzen Sie die OAuth-Umleitungs-URI auf: https://parseapi.back4app.com/auth/facebook/callback
  4. App-ID und App-Geheimnis erhalten:
    • Gehe in deinem App-Dashboard zu "Einstellungen" > "Basis".
    • Notieren Sie sich die App-ID und App-Secret.
  5. 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.

4.2. Aktualisierung auth_service.dart mit Facebook-Login

Fügen Sie den folgenden Code hinzu, um die Facebook-Authentifizierung zu handhaben:

Dart


4.3. Fügen Sie die Facebook-Anmeldeschaltfläche zu auth_screen.dart

Fügen Sie die folgende Schaltfläche zu Ihrer Benutzeroberfläche hinzu:

Dart


4.4. Plattform-spezifische Konfigurationen

Android

  • Aktualisieren Sie Ihre android/app/src/main/AndroidManifest.xml:
XML

  • Fügen Sie Ihre Facebook-App-ID zu android/app/src/main/res/values/strings.xml:
XML


iOS

  • Aktualisieren Sie Ihre Info.plist-Datei:
XML


Schritt 5 – Integration der Google-Authentifizierung

5.1. Google-Entwicklerkonto einrichten

  1. Ein Projekt in der Google Cloud Console erstellen:
  2. OAuth-Zustimmungsbildschirm konfigurieren:
    • Navigiere zu APIs & Dienste > OAuth-Zustimmungsbildschirm.
    • Richte den Zustimmungsbildschirm mit den erforderlichen Berechtigungen ein.
  3. 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.
  4. 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.

5.2. Aktualisiere auth_service.dart mit Google Login

Fügen Sie den folgenden Code hinzu, um die Google-Authentifizierung zu handhaben:

Dart


5.3. Fügen Sie die Google-Anmeldeschaltfläche zu auth_screen.dart

Fügen Sie die folgende Schaltfläche zu Ihrer Benutzeroberfläche hinzu:

Dart


5.4. Plattform-spezifische Konfigurationen

Android

  • Fügen Sie Folgendes zu Ihrer android/app/build.gradle Datei hinzu:
Text

  • Fügen Sie Ihre Google Client-ID zu android/app/src/main/res/values/strings.xml:
XML


Zusätzliche Informationen

  • Aktualisieren Sie Ihre android/app/src/main/AndroidManifest.xml:
XML


iOS

  • Fügen Sie die umgekehrte Client-ID zu Ihrer Info.plist:
XML


Schritt 6 – Integration der Apple-Authentifizierung

6.1. Apple Developer-Konto einrichten

  1. Registriere deine App:
  2. Aktiviere die Anmeldung mit Apple:
    • Unter Identifiers, wähle deine App aus und aktiviere die Anmeldung mit Apple.
  3. Erstelle eine Services-ID:
    • Erstelle eine Services-ID für deine App.
    • Setze die Redirect-URI auf: https://parseapi.back4app.com/auth/apple/callback
  4. Generiere ein Client Secret:
    • Erstelle einen Sign in with Apple privaten Schlüssel.
    • Verwende diesen Schlüssel, um ein Client Secret zu generieren.
  5. Füge Anmeldeinformationen zu Back4App hinzu:
    • Im Back4App-Dashboard, unter Servereinstellungen > Authentifizierung, gib deine Services-ID und dein Client Secret für Apple ein.

6.2. Aktualisiere auth_service.dart mit Apple Login

Fügen Sie den folgenden Code hinzu, um die Apple-Authentifizierung zu behandeln:

Dart


6.3. Fügen Sie die Apple-Anmeldeschaltfläche zu auth_screen.dart

Fügen Sie den folgenden Button zu Ihrer Benutzeroberfläche hinzu:

Dart


6.4. Plattform-spezifische Konfigurationen

Nur iOS

  • Ö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.

Schritt 7 – Testen Ihrer Anwendung

Jetzt, da Sie alle Authentifizierungsmethoden eingerichtet haben, können Sie Ihre App ausführen und jede Anmeldemöglichkeit testen.

7.1. App ausführen

Bash

  • 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.

7.2. Standardauthentifizierung testen

  • 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.

7.3. Facebook-Anmeldung testen

  • Tippen Sie auf "Mit Facebook anmelden".
  • Ein Facebook-Anmeldebildschirm wird angezeigt.
  • Melden Sie sich mit Ihren Facebook-Anmeldeinformationen an.

7.4. Test Google-Anmeldung

  • Tippen Sie auf "Mit Google anmelden".
  • Ein Google-Anmeldebildschirm wird angezeigt.
  • Melden Sie sich mit Ihrem Google-Konto an.

7.5. Test Apple-Anmeldung (nur iOS)

  • Tippen Sie auf "Mit Apple anmelden".
  • Die Apple-Anmeldeaufforderung wird angezeigt.
  • Authentifizieren Sie sich mit Ihrer Apple-ID.

Fazit

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.

Nächste Schritte

  • 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.

Zusätzliche Ressourcen

Viel Spaß beim Programmieren!