Du kannst Firebase Authentication in ein benutzerdefiniertes Authentifizierungssystem einbinden, indem du Ihren Authentifizierungsserver so ändern, dass benutzerdefinierte signierte Token generiert werden, wenn ein Nutzer erfolgreich angemeldet ist. Ihre App empfängt dieses Token und verwendet es, um sich bei Firebase zu authentifizieren.
Hinweis
- Fügen Sie Ihrem JavaScript-Projekt Firebase hinzu.
- Rufen Sie die Serverschlüssel Ihres Projekts ab:
- Rufen Sie die Seite Dienstkonten auf. in den Projekteinstellungen.
- Klicken Sie auf Neuen privaten Schlüssel erstellen unten im Abschnitt Firebase Admin SDK auf der Seite Dienstkonten.
- Das öffentliche/private Schlüsselpaar des neuen Dienstkontos wird automatisch die auf Ihrem Computer gespeichert sind. Kopieren Sie diese Datei auf Ihren Authentifizierungsserver.
Mit Firebase authentifizieren
- Wenn sich Nutzer in Ihrer App anmelden, senden Sie ihnen ihre Anmeldedaten (für (z. B. Nutzername und Passwort) an Ihren Authentifizierungsserver. Ihr Server prüft die Anmeldedaten und gibt eine benutzerdefiniert Token, wenn sie gültig sind.
- Nachdem Sie das benutzerdefinierte Token von Ihrem Authentifizierungsserver erhalten haben, geben Sie es an
signInWithCustomToken
weiter, um den Nutzer anzumelden:Web
import { getAuth, signInWithCustomToken } from "firebase/auth"; const auth = getAuth(); signInWithCustomToken(auth, token) .then((userCredential) => { // Signed in const user = userCredential.user; // ... }) .catch((error) => { const errorCode = error.code; const errorMessage = error.message; // ... });
Web
firebase.auth().signInWithCustomToken(token) .then((userCredential) => { // Signed in var user = userCredential.user; // ... }) .catch((error) => { var errorCode = error.code; var errorMessage = error.message; // ... });
Nächste Schritte
Nachdem sich ein Nutzer zum ersten Mal angemeldet hat, wird ein neues Nutzerkonto erstellt und die mit den Anmeldedaten verknüpft sind, d. h. Nutzername und Passwort, oder Authentifizierungsanbieter-Informationen – also für den Nutzer, mit dem sich der Nutzer angemeldet hat. Diese neue -Konto wird als Teil Ihres Firebase-Projekts gespeichert und kann verwendet werden, um in jeder App in Ihrem Projekt einen Nutzer erreichen, unabhängig davon, wie er sich anmeldet.
-
In Ihren Apps sollten Sie den Authentifizierungsstatus des Nutzers am besten über einen Beobachter für das
Auth
-Objekt ermitteln. Sie können dann die E-Mail-Adresse des Nutzers abrufen, grundlegende Profilinformationen aus demUser
-Objekt. Weitere Informationen finden Sie unter Nutzer verwalten: In Firebase Realtime Database und Cloud Storage Sicherheitsregeln können Sie die eindeutige Nutzer-ID des angemeldeten Nutzers aus der Variablen
auth
abrufen, und steuern, auf welche Daten ein Nutzer zugreifen kann.
Sie können Nutzern erlauben, sich mit Mehrfachauthentifizierung in Ihrer App anzumelden indem Sie die Anmeldedaten des Authentifizierungsanbieters mit einem eines bestehenden Nutzerkontos.
Rufen Sie auf, um einen Nutzer abzumelden.
signOut
:
Web
import { getAuth, signOut } from "firebase/auth"; const auth = getAuth(); signOut(auth).then(() => { // Sign-out successful. }).catch((error) => { // An error happened. });
Web
firebase.auth().signOut().then(() => { // Sign-out successful. }).catch((error) => { // An error happened. });