Einführung in die Admin Auth API

Mit der Firebase Admin SDK können Sie Ihre eigenen Server in Firebase Authentication einbinden. Mit der Firebase Admin SDK können Sie Ihre Nutzer verwalten oder Authentifizierungstokens verwalten. Es gibt eine Reihe von Gründen, Gehen Sie wie folgt vor:

Nutzerverwaltung

Es ist nicht immer praktisch, den Firebase-Konsole zum Verwalten Ihrer Firebase-Nutzer. Die Admin User Management API bietet programmatischen Zugriff auf die gleichen Nutzer. Sie können damit sogar die Firebase-Konsole nicht, wie zum Beispiel der vollständige Daten eines Nutzers abruft und sein Passwort, seine E-Mail-Adresse oder Telefonnummer.

Benutzerdefinierte Authentifizierung

Sie können ein externes Nutzersystem mit Firebase einbinden. Für Vielleicht haben Sie bereits eine Nutzerdatenbank oder möchten externe Identitätsanbieter integrieren, die Firebase Authentication nicht nativ übernimmt Support.

Dazu können Sie benutzerdefinierte Tokens mit beliebigen Anforderungen erstellen, die den Nutzer identifizieren. Diese benutzerdefinierten Tokens können dann für die Anmeldung beim Firebase Authentication-Dienst auf einer Clientanwendung und nehmen die durch die Tokenanforderungen beschriebene Identität an. Diese Identität wird dann für den Zugriff auf andere Firebase-Dienste wie Cloud Storage verwendet.

Identitätsbestätigung

Firebase Authentication wird hauptsächlich verwendet, um Nutzer deiner App zu identifizieren, um so auf andere Dienste wie Cloud Storage zugreifen können. Sie können den Dienst auch verwenden, um diese Nutzer auf Ihrem eigenen Server zu identifizieren. Dieses können Sie serverseitige Logik sicher für Nutzer ausführen, die mit Firebase Authentication.

Dazu können Sie ein ID-Token von einem Client abrufen, Anwendung, die sich mit Firebase Authentication angemeldet hat und das Token in eine Anfrage an Ihr Server. Ihr Server überprüft dann das ID-Token und extrahiert die Anforderungen, den Nutzer zu identifizieren (einschließlich seiner uid, des Identitätsanbieters, bei dem er sich angemeldet hat) mit usw.). Diese Identitätsdaten können dann von Ihrem Server verwendet werden, um Aktionen im Namen des Nutzers auszuführen.

Firebase Admin SDK bietet Methoden zum Ausführen der indem Sie Ihre Nutzer verwalten, benutzerdefinierte und Verifizieren von ID-Tokens.

Benutzerdefinierte Nutzeranforderungen

In einigen Fällen ist es sinnvoll, für Nutzer, die bereits mit einem der unterstützten Firebase angemeldet sind Authentifizierungsanbieter wie E-Mail-Adresse/Passwort, Google, Facebook, Telefon usw. Die Kombination aus benutzerdefinierten Nutzeranforderungen und Regeln für die Anwendungssicherheit bietet dies Beispiel: Ein Nutzer hat sich mit der Firebase Authentication-E-Mail-Adresse und Der Passwortanbieter kann die Zugriffssteuerung über benutzerdefinierte Anforderungen definieren.

Nutzerverwaltung

Das Firebase Admin SDK bietet eine API zum Verwalten Ihrer Firebase-Nutzer mit erhöhten Berechtigungen. Mit der API für die Admin-Nutzerverwaltung können Sie Nutzer programmatisch abrufen, erstellen, aktualisieren und löschen, ohne vorhandene Anmeldedaten eines Nutzers zu benötigen und ohne sich um die clientseitige Ratenbegrenzung kümmern zu müssen.

Nutzer verwalten

Benutzerdefinierte Tokens erstellen

Das Erstellen von benutzerdefinierten Tokens besteht im Wesentlichen darin, Nutzern die Authentifizierung mit einem externen oder Legacy-Authentifizierungsmechanismus zu ermöglichen. Das könnte einer sein, z. B. von Ihrem LDAP-Server oder einem OAuth-Drittanbieter, Firebase wie Instagram oder LinkedIn wird nicht nativ unterstützt.

Firebase Admin SDK hat eine integrierte Methode zum Erstellen benutzerdefinierte Tokens. Mithilfe von JWT-Bibliotheken von Drittanbietern können Sie auch benutzerdefinierte Tokens in jeder Sprache programmatisch erstellen.

Ihr Server sollte ein benutzerdefiniertes Token mit einer eindeutigen Kennung (uid) erstellen und an eine Client-App übergeben, die sich damit Firebase. Weitere Informationen finden Sie unter Benutzerdefinierte Tokens erstellen um Codebeispiele und weitere Informationen zum Erstellen benutzerdefinierter Tokens zu erhalten.

Benutzerdefinierte Tokens erstellen

ID-Token-Verifizierung

Wenn deine Firebase-Client-App mit deinem Backend-Server kommuniziert, angemeldeten Nutzer auf Ihrem Server identifizieren, damit Sie in seinem Namen serverseitige Logik ausführen. Sie können dies sicher tun, indem Sie ID-Tokens, die von Firebase erstellt werden, wenn sich ein Nutzer in einem Firebase App. ID-Tokens entsprechen den OpenID Connect-Spezifikation und Daten zur Identifizierung von Nutzern enthalten, sowie einige andere Profile und Informationen zur Authentifizierung. Sie können diese Tokens von Ihren eigenen Back-Ends senden, prüfen und prüfen. Auf diese Weise können Sie den aktuell angemeldeten Nutzer sicher identifizieren und für Ihre eigenen Backend-Ressourcen autorisieren.

Das Firebase Admin SDK hat eine integrierte Methode zum Bestätigen von ID-Tokens. Sie können ID-Tokens auch in jeder Sprache mithilfe von JWT-Bibliotheken von Drittanbietern programmatisch bestätigen. Weitere Informationen finden Sie unter ID-Tokens überprüfen finden Sie weitere Informationen und Codebeispiele zur Bestätigung von ID-Tokens.

ID-Tokens überprüfen

Benutzerdefinierte Nutzeranforderungen

Mit Firebase Admin SDK können Sie benutzerdefinierte Attribute für Nutzerkonten festlegen. Mit benutzerdefinierten Nutzeransprüchen können Sie Nutzern verschiedene Zugriffsebenen (Rollen) zuweisen, die dann in den Sicherheitsregeln einer Anwendung erzwungen werden.

Nachdem benutzerdefinierte Ansprüche für einen Nutzer über die Firebase Admin SDK geändert wurden, werden sie werden clientseitig über ihre ID-Tokens an die authentifizierten Nutzer weitergegeben. Das ID-Token ist ein vertrauenswürdiger Mechanismus zum Senden dieser benutzerdefinierten Anforderungen. Der authentifizierte Zugriff muss das ID-Token vor der Verarbeitung der zugehörigen Anfrage validieren.

Zugriff mit benutzerdefinierten Anforderungen steuern