Save the date - Google I/O returns May 18-20. Register to get the most out of the digital experience: Build your schedule, reserve space, participate in Q&As, earn Google Developer profile badges, and more. Register now
Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Einführung in die Admin Auth API

Mit dem Firebase Admin SDK können Sie Ihre eigenen Server in die Firebase-Authentifizierung integrieren. Mit dem Firebase Admin SDK können Sie Ihre Benutzer oder Authentifizierungstoken verwalten. Es gibt eine Reihe von Gründen, warum Sie dies tun möchten:

Benutzerverwaltung

Es ist nicht immer bequem, die Firebase-Konsole zu besuchen, um Ihre Firebase-Benutzer zu verwalten. Die Administrator-Benutzerverwaltungs-API bietet denselben Benutzern programmgesteuerten Zugriff. Sie können sogar Dinge tun, die die Firebase-Konsole nicht kann, z. B. das Abrufen der vollständigen Daten eines Benutzers und das Ändern des Kennworts, der E-Mail-Adresse oder der Telefonnummer eines Benutzers.

Benutzerdefinierte Authentifizierung

Sie können ein externes Benutzersystem in Firebase integrieren. Möglicherweise verfügen Sie bereits über eine bereits vorhandene Benutzerdatenbank, oder Sie möchten eine Integration mit einem Identitätsanbieter eines Drittanbieters durchführen, den die Firebase-Authentifizierung nicht nativ unterstützt.

Zu diesem Zweck können Sie benutzerdefinierte Token mit willkürlichen Ansprüchen erstellen, die den Benutzer identifizieren. Diese benutzerdefinierten Token können dann verwendet werden, um sich in einer Clientanwendung beim Firebase-Authentifizierungsdienst anzumelden und die Identität anzunehmen, die in den Ansprüchen des Tokens beschrieben ist. Diese Identität wird dann beim Zugriff auf andere Firebase-Dienste wie Cloud Storage verwendet.

Identitätsprüfung

Die Firebase-Authentifizierung wird hauptsächlich verwendet, um Benutzer Ihrer App zu identifizieren und den Zugriff auf andere Dienste wie Cloud Storage einzuschränken. Sie können den Dienst auch verwenden, um diese Benutzer auf Ihrem eigenen Server zu identifizieren. Auf diese Weise können Sie die serverseitige Logik für Benutzer, die sich mit der Firebase-Authentifizierung angemeldet haben, sicher ausführen.

Zu diesem Zweck können Sie ein ID-Token aus einer mit Firebase-Authentifizierung angemeldeten Clientanwendung abrufen und das Token in eine Anforderung an Ihren Server aufnehmen. Ihr Server überprüft dann das ID-Token und extrahiert die Ansprüche, die den Benutzer identifizieren (einschließlich seiner uid , des Identitätsanbieters, bei dem er sich angemeldet hat usw.). Diese Identitätsinformationen können dann von Ihrem Server verwendet werden, um Aktionen im Namen des Benutzers auszuführen.

Das Firebase Admin SDK bietet Methoden zum Ausführen der oben genannten Authentifizierungsaufgaben, indem Sie Ihre Benutzer verwalten, benutzerdefinierte Token generieren und ID-Token überprüfen können.

Benutzerdefinierte Benutzeransprüche

In einigen Fällen möchten Sie möglicherweise eine differenzierte Zugriffssteuerung für Benutzer implementieren, die bereits bei einem der unterstützten Firebase-Authentifizierungsanbieter wie E-Mail / Kennwort, Google, Facebook, Telefon usw. angemeldet sind. Eine Kombination aus benutzerdefinierten Benutzeransprüchen und Anwendungssicherheit Regeln bietet diese Funktion. Beispielsweise kann für einen Benutzer, der beim Firebase-Authentifizierungs-E-Mail- und -Kennwortanbieter angemeldet ist, die Zugriffssteuerung mithilfe benutzerdefinierter Ansprüche definiert werden.

Benutzerverwaltung

Das Firebase Admin SDK bietet eine API zum Verwalten Ihrer Firebase-Benutzer mit erhöhten Berechtigungen. Mit der Administrator-Benutzerverwaltungs-API können Sie Benutzer programmgesteuert abrufen, erstellen, aktualisieren und löschen, ohne die vorhandenen Anmeldeinformationen eines Benutzers zu benötigen und ohne sich um die clientseitige Ratenbegrenzung kümmern zu müssen.

Benutzer verwalten

Benutzerdefinierte Token-Erstellung

Die Hauptverwendung zum Erstellen benutzerdefinierter Token besteht darin, Benutzern die Authentifizierung anhand eines externen oder älteren Authentifizierungsmechanismus zu ermöglichen. Dies kann einer sein, den Sie steuern, z. B. Ihr LDAP-Server, oder ein OAuth-Anbieter eines Drittanbieters, den Firebase nicht nativ unterstützt, wie z. B. Instagram oder LinkedIn.

Das Firebase Admin SDK verfügt über eine integrierte Methode zum Erstellen benutzerdefinierter Token. Sie können auch programmgesteuert benutzerdefinierte Token in einer beliebigen Sprache mithilfe von JWT-Bibliotheken von Drittanbietern erstellen.

Ihr Server sollte ein benutzerdefiniertes Token mit einer eindeutigen Kennung ( uid ) uid und dieses Token an eine Client-App übergeben, die es zur Anmeldung bei Firebase verwendet. Weitere Informationen zum Erstellen von benutzerdefinierten Token finden Sie unter Erstellen benutzerdefinierter Token für Codebeispiele.

Erstellen Sie benutzerdefinierte Token

Überprüfung des ID-Tokens

Wenn Ihre Firebase-Client-App mit Ihrem Back-End-Server kommuniziert, müssen Sie möglicherweise den aktuell angemeldeten Benutzer auf Ihrem Server identifizieren, damit Sie in dessen Namen eine serverseitige Logik ausführen können. Sie können dies sicher tun, indem Sie ID-Token verwenden, die von Firebase erstellt werden, wenn sich ein Benutzer bei einer Firebase-App anmeldet. ID-Token entsprechen der OpenID Connect-Spezifikation und enthalten Daten zur Identifizierung eines Benutzers sowie einige andere Profil- und Authentifizierungsinformationen. Sie können diese Token von Ihrem eigenen Backend aus senden, überprüfen und überprüfen. Auf diese Weise können Sie den aktuell angemeldeten Benutzer sicher identifizieren und für Ihre eigenen Backend-Ressourcen autorisieren.

Das Firebase Admin SDK verfügt über eine integrierte Methode zum Überprüfen von ID-Token. Sie können ID-Token auch programmgesteuert in jeder Sprache mithilfe von JWT-Bibliotheken von Drittanbietern überprüfen. Siehe Überprüfen ID - Token für weitere Informationen und Codebeispiele über den ID - Token Verifizierungsprozess.

Überprüfen Sie die ID-Token

Benutzerdefinierte Benutzeransprüche

Mit dem Firebase Admin SDK können Sie benutzerdefinierte Attribute für Benutzerkonten festlegen. Mit benutzerdefinierten Benutzeransprüchen können Sie Benutzern verschiedene Zugriffsebenen (Rollen) gewähren, die dann in den Sicherheitsregeln einer Anwendung durchgesetzt werden.

Nachdem benutzerdefinierte Ansprüche für einen Benutzer über das Firebase Admin SDK geändert wurden, werden sie über ihre ID-Token an die authentifizierten Benutzer auf der Clientseite weitergegeben. Das ID-Token ist ein vertrauenswürdiger Mechanismus zum Übermitteln dieser benutzerdefinierten Ansprüche, und jeder authentifizierte Zugriff muss das ID-Token validieren, bevor die zugehörige Anforderung verarbeitet wird.

Kontrollieren Sie den Zugriff mit benutzerdefinierten Ansprüchen