Save the date - Google I/O returns May 18-20. Register to get the most out of the digital experience: Build your schedule, reserve space, participate in Q&As, earn Google Developer profile badges, and more. Register now
Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

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. Istnieje wiele powodów, dla których warto to zrobić:

Zarządzanie użytkownikami

Odwiedzanie konsoli Firebase w celu zarządzania użytkownikami Firebase nie zawsze jest wygodne. Interfejs API do zarządzania użytkownikami administracyjnymi zapewnia programowy dostęp tym samym użytkownikom. Pozwala nawet robić rzeczy, których konsola Firebase nie może, na przykład odzyskać pełne dane użytkownika i zmienić hasło użytkownika, adres e-mail lub numer telefonu.

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. Tych niestandardowych tokenów można następnie użyć do zalogowania się do usługi uwierzytelniania Firebase w aplikacji klienckiej i przyjęcia tożsamości opisanej w oświadczeniach 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, aby zidentyfikować tych użytkowników na własnym serwerze. Umożliwia to bezpieczne wykonywanie logiki po stronie serwera w imieniu użytkowników, którzy zalogowali się przy użyciu uwierzytelniania Firebase.

Aby to zrobić, możesz pobrać token identyfikatora z aplikacji klienckiej zalogowanej przy użyciu uwierzytelniania Firebase i dołączyć go do żądania wysyłanego do serwera. Twój serwer następnie weryfikuje token ID i wyodrębnia oświadczenia, które identyfikują użytkownika (w tym jego uid , dostawcę tożsamości, z którym się logował, 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 zapewnia metody wykonywania powyższych zadań uwierzytelniania, umożliwiając zarządzanie użytkownikami, generowanie tokenów niestandardowych i weryfikowanie tokenów identyfikatorów.

Niestandardowe roszczenia użytkowników

W niektórych przypadkach możesz chcieć zaimplementować precyzyjną kontrolę dostępu dla użytkowników, którzy są już zalogowani przez 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ć zdefiniowaną kontrolę dostępu za pomocą oświadczeń niestandardowych.

Zarządzanie użytkownikami

Pakiet Firebase Admin SDK zapewnia 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 wymagania istniejących poświadczeń użytkownika i bez martwienia się o ograniczanie 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 za pomocą zewnętrznego lub starszego mechanizmu uwierzytelniania. Może to być serwer, 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 również programowo tworzyć niestandardowe tokeny w dowolnym języku, korzystając z bibliotek JWT innych firm.

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

Utwórz niestandardowe tokeny

Weryfikacja tokena ID

Jeśli aplikacja kliencka Firebase komunikuje się z serwerem zaplecza, 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, 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 umożliwiające identyfikację użytkownika, a także inne informacje o profilu i uwierzytelnianiu. 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 do własnych zasobów zaplecza.

Pakiet Firebase Admin SDK ma wbudowaną metodę weryfikowania tokenów identyfikacyjnych. Możesz również programowo weryfikować tokeny identyfikatorów w dowolnym języku, korzystając z bibliotek JWT innych firm. Więcej informacji i przykłady kodu dotyczące procesu weryfikacji tokena identyfikatora można znaleźć w artykule Weryfikacja tokenów identyfikatora .

Zweryfikuj tokeny identyfikacyjne

Niestandardowe oświadczenia użytkowników

Pakiet Firebase Admin SDK umożliwia ustawianie niestandardowych atrybutów na kontach użytkowników. Dzięki niestandardowym oświadczeniom użytkownika 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 dotyczących użytkownika 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 zweryfikować token identyfikatora przed przetworzeniem powiązanego żądania.

Kontrola dostępu za pomocą oświadczeń niestandardowych