Catch up on everything we announced at this year's Firebase Summit. Learn more

Einführung in die Admin-Authentifizierungs-API

Mit dem Firebase Admin SDK können Sie Ihre eigenen Server in Firebase Authentication integrieren. Sie können das Firebase Admin SDK verwenden, um Ihre Benutzer oder Authentifizierungstokens zu verwalten. Es gibt eine Reihe von Gründen, warum Sie dies tun möchten:

Benutzerverwaltung

Es ist nicht immer bequem, die Firebase-Konsole aufzurufen, um Ihre Firebase-Benutzer zu verwalten. Die Admin-Benutzerverwaltungs-API bietet programmgesteuerten Zugriff auf dieselben Benutzer. 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 Passworts, der E-Mail-Adresse oder der Telefonnummer eines Benutzers.

Benutzerdefinierte Authentifizierung

Sie können ein externes Benutzersystem in Firebase integrieren. Sie haben beispielsweise bereits eine Benutzerdatenbank oder möchten einen Identitäts-Drittanbieter integrieren, der von Firebase Authentication nicht nativ unterstützt wird.

Dazu können Sie benutzerdefinierte Token mit beliebigen Ansprüchen erstellen, die den Benutzer identifizieren. Diese benutzerdefinierten Token können dann verwendet werden, um sich in einer Clientanwendung beim Firebase Authentication-Dienst 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

Firebase Authentication wird hauptsächlich verwendet, um Benutzer Ihrer App zu identifizieren, um 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 serverseitige Logik sicher für Benutzer ausführen, die sich mit Firebase Authentication angemeldet haben.

Dazu können Sie ein ID-Token von einer mit Firebase Authentication angemeldeten Clientanwendung abrufen und das Token in eine Anfrage an Ihren Server einschließen. Der Server überprüft dann die ID - Token und extrahiert die Ansprüche, die den Benutzer (einschließlich ihrer identifizieren uid , der Identity - Provider sie mit angemeldet, etc.). Diese Identitätsinformationen können dann von Ihrem Server verwendet werden, um Aktionen im Namen des Benutzers durchzuführen.

Das Firebase Admin SDK bietet Methoden zum Ausführen der oben genannten Authentifizierungsaufgaben, indem es Ihnen ermöglicht, Ihre Benutzer zu verwalten, benutzerdefinierte Token zu generieren und ID-Token zu überprüfen.

Benutzerdefinierte Nutzeransprüche

In einigen Fällen möchten Sie möglicherweise eine differenzierte Zugriffskontrolle für Benutzer implementieren, die sich bereits bei einem der unterstützten Firebase-Authentifizierungsanbieter wie E-Mail/Passwort, Google, Facebook, Telefon usw. angemeldet haben. Eine Kombination aus benutzerdefinierten Benutzeransprüchen und Anwendungssicherheit Regeln bietet diese Möglichkeit. Beispielsweise kann ein Benutzer, der sich beim E-Mail- und Passwortanbieter für die Firebase-Authentifizierung angemeldet hat, die Zugriffssteuerung mithilfe von benutzerdefinierten Ansprüchen definieren.

Benutzerverwaltung

Das Firebase Admin SDK bietet eine API zum Verwalten Ihrer Firebase-Benutzer mit erhöhten Rechten. Die Admin-Benutzerverwaltungs-API bietet Ihnen die Möglichkeit, Benutzer programmgesteuert abzurufen, zu erstellen, zu aktualisieren und zu löschen, ohne dass die vorhandenen Anmeldeinformationen eines Benutzers erforderlich sind und sich keine Gedanken über clientseitige Ratenbegrenzungen machen müssen.

Benutzer verwalten

Erstellung von benutzerdefinierten Token

Der Hauptzweck zum Erstellen benutzerdefinierter Token besteht darin, Benutzern die Authentifizierung mit einem externen oder Legacy-Authentifizierungsmechanismus zu ermöglichen. Dies kann ein von Ihnen kontrollierter Server sein, z. B. Ihr LDAP-Server, oder ein OAuth-Drittanbieter, der von Firebase nicht nativ unterstützt wird, z. B. Instagram oder LinkedIn.

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

Ihr Server sollte eine benutzerdefinierte Token mit einer eindeutigen Kennung (erstellen uid ) und diese Token zu einer Client - Anwendung übergeben, die es in zu Firebase zu unterzeichnen verwenden. Siehe Erstellen von benutzerdefinierten Tokens für Codebeispiele und weitere Informationen über die benutzerdefinierten Token Erstellungsprozess.

Benutzerdefinierte Token erstellen

ID-Token-Verifizierung

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 die serverseitige Logik in seinem Namen 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 - Tokens entspricht die OpenID Connect spec und enthalten Daten , um einen Benutzer zu identifizieren, ebenso wie einige andere Profile und Authentifizierung bezogenen Informationen. Sie können diese Token von Ihren eigenen Back-Ends aus senden, überprüfen und überprüfen. Auf diese Weise können Sie den aktuell angemeldeten Benutzer sicher identifizieren und ihn in Ihren eigenen Backend-Ressourcen autorisieren.

Das Firebase Admin SDK verfügt über eine integrierte Methode zur Überprüfung von ID-Token. Sie können ID-Tokens 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.

ID-Token überprüfen

Benutzerdefinierte Nutzeransprü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) erteilen, die dann in den Sicherheitsregeln einer Anwendung durchgesetzt werden.

Nachdem benutzerdefinierte Ansprüche für einen Nutzer über das Firebase Admin SDK geändert wurden, werden sie über deren ID-Token an die authentifizierten Nutzer auf der Clientseite weitergegeben. Das ID-Token ist ein vertrauenswürdiger Mechanismus zum Zustellen 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