Wprowadzenie do interfejsu Admin Auth API

Pakiet Firebase Admin SDK umożliwia integrację własnych serwerów z uwierzytelnianiem Firebase. Za pomocą pakietu Firebase Admin SDK możesz zarządzać użytkownikami lub tokenami uwierzytelniania. Jest kilka powodów, dla których warto to zrobić:

Zarządzanie użytkownikami

Nie zawsze wygodnie jest odwiedzać konsolę Firebase, aby zarządzać użytkownikami Firebase. Interfejs API do zarządzania użytkownikami administracyjnymi zapewnia programowy dostęp tym samym użytkownikom. Umożliwia nawet wykonywanie czynności, których nie może wykonać konsola Firebase, takich jak pobieranie pełnych danych użytkownika i zmiana hasła, adresu e-mail lub numeru telefonu użytkownika.

Uwierzytelnianie niestandardowe

Możesz zintegrować zewnętrzny system użytkownika z Firebase. Na przykład możesz mieć już istniejącą bazę danych użytkowników lub możesz chcieć przeprowadzić integrację z zewnętrznym dostawcą tożsamości, którego uwierzytelnianie Firebase nie obsługuje natywnie.

Aby to zrobić, możesz utworzyć niestandardowe tokeny z dowolnymi oświadczeniami identyfikującymi użytkownika. Te tokeny niestandardowe mogą następnie służyć do logowania się do usługi uwierzytelniania Firebase w aplikacji klienckiej i przyjmowania tożsamości opisanej przez oświadczenia tokenu. Ta tożsamość będzie następnie używana podczas uzyskiwania dostępu do innych usług Firebase, takich jak Cloud Storage.

weryfikacja tożsamości

Uwierzytelnianie Firebase służy przede wszystkim do identyfikowania użytkowników Twojej aplikacji w celu ograniczenia dostępu do innych usług, takich jak Cloud Storage. Możesz również skorzystać z usługi w celu identyfikacji 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ą Uwierzytelniania Firebase.

W tym celu możesz pobrać token identyfikacyjny z aplikacji klienckiej zalogowanej za pomocą uwierzytelniania Firebase i dołączyć go do żądania skierowanego do serwera. Następnie serwer weryfikuje token identyfikatora i wyodrębnia oświadczenia identyfikujące użytkownika (w tym jego uid , dostawcę tożsamości, u którego się zalogował itp.). Te informacje o tożsamości mogą być następnie wykorzystywane przez serwer do wykonywania działań w imieniu użytkownika.

Pakiet Firebase Admin SDK udostępnia metody wykonywania powyższych zadań uwierzytelniania, umożliwiając zarządzanie użytkownikami, generowanie tokenów niestandardowych i weryfikację tokenów identyfikatorów.

Niestandardowe oświadczenia użytkownika

W niektórych przypadkach możesz chcieć wdrożyć szczegółową kontrolę dostępu dla użytkowników już zalogowanych u jednego z obsługiwanych dostawców uwierzytelniania Firebase, takich jak e-mail/hasło, Google, Facebook, telefon itp. Połączenie niestandardowych oświadczeń użytkowników i zabezpieczeń aplikacji reguły zapewniają taką możliwość. Na przykład użytkownik zalogowany za pomocą dostawcy adresu e-mail i hasła uwierzytelniania Firebase może mieć kontrolę dostępu zdefiniowaną przy użyciu oświadczeń niestandardowych.

Zarządzanie użytkownikami

Pakiet Firebase Admin SDK udostępnia interfejs API do zarządzania użytkownikami Firebase z podwyższonymi uprawnieniami. Interfejs API do zarządzania użytkownikami administracyjnymi umożliwia programowe pobieranie, tworzenie, aktualizowanie i usuwanie użytkowników bez konieczności posiadania istniejących poświadczeń użytkownika i bez martwienia się o ograniczenie szybkości po stronie klienta.

Zarządzaj użytkownikami

Tworzenie niestandardowego tokena

Podstawowym zastosowaniem do tworzenia tokenów niestandardowych jest umożliwienie użytkownikom uwierzytelniania względem zewnętrznego lub starszego mechanizmu uwierzytelniania. Może to być taki, który kontrolujesz, na przykład serwer LDAP, lub zewnętrzny dostawca OAuth, którego Firebase nie obsługuje natywnie, na przykład Instagram lub LinkedIn.

Pakiet Firebase Admin SDK ma wbudowaną metodę tworzenia tokenów niestandardowych. Możesz także programowo tworzyć niestandardowe tokeny w dowolnym języku przy użyciu bibliotek JWT innych firm.

Twój serwer powinien utworzyć niestandardowy token z unikalnym identyfikatorem ( uid ) i przekazać go do aplikacji klienckiej, która użyje go do zalogowania się do Firebase. Zobacz Tworzenie tokenów niestandardowych dla przykładów kodu i więcej informacji na temat procesu tworzenia tokenów niestandardowych.

Twórz niestandardowe tokeny

Weryfikacja tokena identyfikacyjnego

Jeśli aplikacja kliencka Firebase komunikuje się z serwerem zaplecza, może być konieczne zidentyfikowanie aktualnie zalogowanego użytkownika na serwerze, aby móc wykonywać logikę po stronie serwera w jego imieniu. Możesz to zrobić bezpiecznie, używając tokenów identyfikacyjnych, które są tworzone przez Firebase, gdy użytkownik loguje się do aplikacji Firebase. Tokeny ID są zgodne ze specyfikacją OpenID Connect i zawierają dane identyfikujące użytkownika, a także inne informacje dotyczące profilu i uwierzytelniania. Możesz wysyłać, weryfikować i sprawdzać te tokeny z własnych backendów. Pozwala to bezpiecznie zidentyfikować aktualnie zalogowanego użytkownika i autoryzować go we własnych zasobach zaplecza.

Pakiet Firebase Admin SDK ma wbudowaną metodę weryfikacji tokenów identyfikacyjnych. Możesz również programowo weryfikować tokeny ID w dowolnym języku przy użyciu bibliotek JWT innych firm. Zobacz Weryfikowanie tokenów identyfikacyjnych , aby uzyskać więcej informacji i przykłady kodu dotyczące procesu weryfikacji tokenów identyfikacyjnych.

Zweryfikuj tokeny ID

Niestandardowe oświadczenia użytkownika

Pakiet Firebase Admin SDK umożliwia ustawianie niestandardowych atrybutów na kontach użytkowników. Za pomocą niestandardowych oświadczeń użytkowników można nadać użytkownikom różne poziomy dostępu (role), które są następnie wymuszane w regułach zabezpieczeń aplikacji.

Po zmodyfikowaniu oświadczeń niestandardowych na użytkowniku za pomocą pakietu Firebase Admin SDK są one propagowane do uwierzytelnionych użytkowników po stronie klienta za pośrednictwem ich tokenów identyfikacyjnych. Token identyfikatora jest zaufanym mechanizmem dostarczania tych oświadczeń niestandardowych, a każdy uwierzytelniony dostęp musi weryfikować token identyfikatora przed przetworzeniem skojarzonego żądania.

Kontroluj dostęp za pomocą oświadczeń niestandardowych