Einführung in die Admin Auth API
Identity Platform basiert auf einer erweiterten Infrastruktur, die die Authentifizierung von Nutzern für Ihre Anwendungen und Dienste unterstützt. Mit dem Firebase Admin SDK können Sie Ihre eigenen Server in Identity Platform integrieren und Ihre Nutzer oder Authentifizierungstokens verwalten. Dafür gibt es eine Reihe von Gründen:
Nutzerverwaltung
Es ist nicht immer praktisch, die Google Cloud Console (Google Cloud Console) zum Verwalten Ihrer Identity Platform-Nutzer zu verwenden. Die Admin User Management API bietet programmatischen Zugriff auf die gleichen Nutzer. Sie können damit sogar Aktionen ausführen, die mit der Google Cloud Console nicht möglich sind, z. B. das Abrufen der vollständigen Daten eines Nutzers und das Ändern des Passworts, der E-Mail-Adresse oder der Telefonnummer eines Nutzers.
Benutzerdefinierte Authentifizierung
Sie können ein externes Nutzersystem in Identity Platform integrieren. Möglicherweise haben Sie bereits eine vorhandene Nutzerdatenbank oder möchten einen externen Identitätsanbieter vornehmen, der von Identity Platform nicht nativ unterstützt wird.
Dazu können Sie benutzerdefinierte Tokens mit beliebigen Anforderungen erstellen, die den Nutzer identifizieren. Mit diesen benutzerdefinierten Tokens können Sie sich dann in einer Clientanwendung im Identity Platform-Dienst anmelden und von der in den Anforderungen des Tokens beschriebenen Identität ausgehen. Diese Identität wird dann für den Zugriff auf andere Identity Platform-Dienste wie Cloud Storage verwendet.
Identitätsbestätigung
Identity Platform wird hauptsächlich verwendet, um Nutzer Ihrer Anwendung zu identifizieren, um den Zugriff auf andere Dienste wie Cloud Storage einzuschränken. Sie können den Dienst auch verwenden, um diese Nutzer auf Ihrem eigenen Server zu identifizieren. Auf diese Weise können Sie serverseitige Logik für Nutzer ausführen, die sich mit Identity Platform angemeldet haben.
Dazu können Sie ein ID-Token von einer in Identity Platform angemeldeten Client-Anwendung abrufen und das Token in eine Anfrage an Ihren Server aufnehmen. Ihr Server prüft dann das ID-Token und extrahiert die Anforderungen, die den Nutzer identifizieren (einschließlich seiner uid
, des Identitätsanbieters, mit dem er sich angemeldet hat usw.). Diese Identitätsdaten können dann von Ihrem Server verwendet werden, um Aktionen im Namen des Nutzers auszuführen.
Das Firebase Admin SDK bietet Methoden zur Durchführung der Authentifizierungsaufgaben, mit denen Sie Ihre Nutzer verwalten, benutzerdefinierte Tokens generieren und ID-Tokens bestätigen können.
Benutzerdefinierte Nutzeranforderungen
Möglicherweise möchten Sie in einigen Fällen eine differenzierte Zugriffssteuerung für Nutzer implementieren, die bereits mit einem der unterstützten Identity Platform-Authentifizierungsanbieter wie E-Mail/Passwort, Google, Facebook, Telefon usw. angemeldet sind. Die Kombination benutzerdefinierter Nutzeransprüche und Sicherheitsregeln für Anwendungen bietet diese Möglichkeit. Beispielsweise kann ein Nutzer, der mit der E-Mail-Adresse und dem Passwortanbieter von Identity Platform angemeldet ist, die Zugriffssteuerung mithilfe benutzerdefinierter Anforderungen definieren.
Nutzerverwaltung
Das Firebase Admin SDK bietet eine API zum Verwalten Ihrer Identity Platform-Nutzer mit höheren 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 verwaltenBenutzerdefinierte 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 eine von Ihnen kontrollierte Person sein, z. B. Ihren LDAP-Server oder den OAuth-Anbieter eines Drittanbieters, der von Identity Platform nicht nativ unterstützt wird, z. B. Instagram oder LinkedIn.
Das Firebase Admin SDK verfügt über eine integrierte Methode zum Erstellen benutzerdefinierter 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 ID (uid
) erstellen und es an eine Clientanwendung übergeben, die es zur Anmeldung bei Identity Platform verwendet. Unter Benutzerdefinierte Tokens erstellen finden Sie Codebeispiele und weitere Informationen zum Erstellen benutzerdefinierter Tokens.
ID-Token-Verifizierung
Wenn die Identity Platform-Clientanwendung mit dem Backend-Server kommuniziert, müssen Sie den derzeit angemeldeten Nutzer auf Ihrem Server möglicherweise identifizieren, damit Sie die serverseitige Logik für sie ausführen können. Dies ist sicher mithilfe von ID-Tokens möglich, die von Identity Platform erstellt werden, wenn sich ein Nutzer bei einer Identity Platform-Anwendung anmeldet. ID-Tokens entsprechen der OpenID Connect-Spezifikation und enthalten Daten zur Identifizierung eines Nutzers sowie andere Profil- und Authentifizierungsinformationen. 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 und Codebeispiele zum Bestätigungsprozess von ID-Tokens finden Sie unter ID-Tokens bestätigen.
Benutzerdefinierte Nutzeranforderungen
Mit dem 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.
Wenn benutzerdefinierte Anforderungen für einen Nutzer über das Firebase Admin SDK geändert wurden, werden sie über die zugehörigen ID-Tokens auf die Client-Seite übertragen. 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