Wprowadzenie do interfejsu Admin Auth API

Firebase Admin SDK pozwala zintegrować własne serwery z Firebase Authentication. Za pomocą Firebase Admin SDK możesz zarządzać użytkownikami lub: i zarządzać tokenami uwierzytelniania. Możesz to zrobić z kilku powodów:

Zarządzanie użytkownikami

Nie zawsze jest wygodnie korzystać z Konsola Firebase aby zarządzać użytkownikami w domenie Firebase. Interfejs Admin User Management API zapewnia programowy dostęp tym samym użytkownikom. Umożliwia też funkcje konsoli Firebase nie może, np. pobranie pełnych danych użytkownika oraz zmianę jego hasła, adresu e-mail lub numeru telefonu.

Uwierzytelnianie niestandardowe

Z Firebase możesz zintegrować zewnętrzny system użytkowników. Dla: na przykład istnieje już baza danych użytkowników lub przeprowadzić integrację z zewnętrznym dostawcą tożsamości, którego Firebase Authentication nie obsługuje natywnie .

W tym celu możesz utworzyć tokeny niestandardowe z dowolnymi deklaracjami identyfikującymi użytkownika. Tych tokenów niestandardowych można później używać do logowania się w usłudze Firebase Authentication aplikacji klienckiej i przyjmuje się tożsamość opisaną w deklaracjach tokena. Ta tożsamość będzie później używana podczas uzyskiwania dostępu do innych usług Firebase usługi, takie jak Cloud Storage.

Weryfikacja tożsamości

Firebase Authentication służy głównie do identyfikowania użytkowników aplikacji w celu ograniczenia dostęp do innych usług, takich jak Cloud Storage. Możesz też użyć tej usługi do identyfikowania tych użytkowników na własnym serwerze. Dzięki temu możesz bezpiecznie wykonywać logikę po stronie serwera w imieniu użytkowników, którzy zalogowali się za pomocą Firebase Authentication.

Aby to zrobić, możesz pobrać token identyfikatora od klienta aplikacji zalogowanej przy użyciu konta Firebase Authentication i umieść ten token w żądaniu wysyłanym do Twojego serwera. Następnie serwer weryfikuje token identyfikacyjny i wyodrębnia oświadczenia, które identyfikują użytkownika (w tym uid, dostawcę tożsamości, za pomocą którego użytkownik się zalogował itp.). Informacje o tożsamości mogą być następnie używane przez serwer do przenoszenia wykonywać działania w imieniu użytkownika.

Firebase Admin SDK zawiera metody wykonywania opisanych wyżej zadań związanych z uwierzytelnianiem, umożliwiając zarządzanie użytkownikami, generowanie tokenów niestandardowych i weryfikowanie tokenów identyfikacyjnych.

Niestandardowe deklaracje użytkowników

W niektórych przypadkach warto wdrożyć szczegółową kontrolę dostępu w przypadku użytkowników zalogowanych już przy użyciu jednej z obsługiwanych systemów Firebase dostawców uwierzytelniania, takich jak E-mail/hasło, Google, Facebook, telefon itp. kombinacji niestandardowych deklaracji użytkowników i reguł zabezpieczeń aplikacji zapewnia to działania. Na przykład użytkownik zalogował się za pomocą adresu e-mail Firebase Authentication i Dostawca haseł może mieć kontrolę dostępu definiowaną za pomocą deklaracji niestandardowych.

Zarządzanie użytkownikami

Usługa Firebase Admin SDK udostępnia interfejs API do zarządzania użytkownikami Firebase z podwyższonymi uprawnieniami. Zarządzanie użytkownikami przez administratora Interfejs API umożliwia automatyczne pobieranie, tworzenie, aktualizowanie usuwać użytkowników bez konieczności podawania istniejących danych logowania martwią się o ograniczenie liczby żądań po stronie klienta.

Zarządzanie użytkownikami

Tworzenie tokena niestandardowego

Głównym celem tworzenia niestandardowych tokenów jest umożliwienie użytkownikom uwierzytelniania się za pomocą zewnętrznego lub starszego mechanizmu uwierzytelniania. Może to być Ty takiego jak serwer LDAP lub zewnętrzny dostawca OAuth, Aplikacja Firebase nie obsługuje natywnie funkcji takich jak Instagram czy LinkedIn.

Aplikacja Firebase Admin SDK ma wbudowaną metodę tworzenia tokeny niestandardowe. Możesz też automatycznie tworzyć tokeny niestandardowe w dowolnym za pomocą zewnętrznych bibliotek JWT.

Serwer powinien utworzyć token niestandardowy z unikalnym identyfikatorem (uid) i przekazać ten token aplikacji klienckiej, która będzie go używać do logowania się Firebase Zobacz Tworzenie tokenów niestandardowych , gdzie znajdziesz przykłady kodu i dodatkowe informacje o procesie tworzenia tokenów niestandardowych.

Tworzenie tokenów niestandardowych

Weryfikacja tokena tożsamości

Jeśli aplikacja kliencka Firebase komunikuje się z serwerem backendu, może być konieczne zidentyfikowanie aktualnie zalogowanego użytkownika na serwerze, aby można było wykonać logikę po stronie serwera w jego imieniu. Możesz to zrobić bezpiecznie za pomocą tokeny tożsamości, które Firebase tworzy, gdy użytkownik zaloguje się w Aplikacja Firebase. Tokeny tożsamości zgodne z Specyfikacja OpenID Connect i zawierają dane umożliwiające identyfikację użytkownika, a także inne profile oraz informacje związane z uwierzytelnianiem. Możesz wysyłać, weryfikować, i sprawdź te tokeny we własnych backendach. Dzięki temu możesz bezpiecznie Zidentyfikuj zalogowanego użytkownika i autoryzuj go we własnym backendzie i zasobami Google Cloud.

Firebase Admin SDK ma wbudowaną metodę weryfikacji tokenów tożsamości. Możesz też automatycznie zweryfikować tokeny tożsamości w za pomocą zewnętrznych bibliotek JWT. Zobacz Weryfikowanie tokenów tożsamości .

Weryfikowanie tokenów tożsamości

Niestandardowe roszczenia użytkowników

Firebase Admin SDK umożliwia konfigurowanie atrybutów niestandardowych na kontach użytkowników. Korzystając z niestandardowych deklaracji użytkowników, możesz przyznawać różne poziomy dostępu (role) które są następnie egzekwowane w regułach zabezpieczeń aplikacji.

Gdy roszczenia niestandardowe zostaną zmodyfikowane w odniesieniu do użytkownika za pomocą interfejsu Firebase Admin SDK, przekazywane do uwierzytelnionych użytkowników po stronie klienta za pomocą ich tokenów tożsamości. Token identyfikatora to zaufany mechanizm dostarczania z tymi deklaracjami niestandardowymi, a każdy uwierzytelniony dostęp musi weryfikować token tożsamości .

Kontrola dostępu za pomocą roszczeń niestandardowych