W projekcie w Firebase możesz wymusić tryb uwierzytelnionych użytkowników. Gdy ta zasada jest egzekwowana, wszystkie żądania Gemini API wysyłane przez Firebase AI Logic muszą pochodzić od uwierzytelnionych użytkowników Twojej aplikacji. Oznacza to, że użytkownik Twojej aplikacji musi zostać uwierzytelniony za pomocą Firebase Authentication, zanim wyśle żądanie do Firebase AI Logic z Twojej aplikacji. Jeśli użytkownik nie jest uwierzytelniony, żądanie zostanie zablokowane.
Gdy żądanie zostanie zablokowane, odpowiedzią będzie błąd 401: unauthenticated.
Istotne kwestie
Pamiętaj o tych ważnych kwestiach dotyczących trybu uwierzytelnionych użytkowników.
Gdy wymuszany jest tryb uwierzytelnionych użytkowników
Gdy wymuszany jest tryb uwierzytelnionych użytkowników, pamiętaj o tych kwestiach:
To ustawienie jest ustawieniem dla całego projektu w przypadku Firebase AI Logic.
- Dotyczy wszystkich aplikacji zarejestrowanych w projekcie.
- Dotyczy tylko projektu, w którym jest egzekwowana.
To ustawienie blokuje wszystkie żądania wysyłane przez Firebase AI Logic, które nie przesyłają danych logowania Firebase Authentication.
- Użytkownik musi zostać uwierzytelniony przez Firebase Authentication przed wysłaniem żądania do Firebase AI Logic.
- To ustawienie dotyczy wszystkich żądań wysyłanych przez Firebase AI Logic do Gemini Developer API i Agent Platform Gemini API (formerly Vertex AI).
- To ustawienie dotyczy wszystkich żądań, które używają szablonów promptów serwera.
- Tego ustawienia nie można zastosować do poszczególnych użytkowników, interfejsów API ani szablonów.
To ustawienie nie blokuje żądań Gemini API w Twoim projekcie, które nie są wysyłane przez Firebase AI Logic.
Jeśli używasz modelu hybrydowego lub na urządzeniu:
- To ustawienie blokuje żądania wysyłane do modelu hostowanego w chmurze, jeśli użytkownik nie jest uwierzytelniony.
- To ustawienie nie blokuje żądań wysyłanych do modelu na urządzeniu niezależnie od stanu uwierzytelniania użytkownika.
Jeśli używasz Gemini Live API:
- To ustawienie blokuje korzystanie z interfejsu Gemini Live API w aplikacjach internetowych, gdy używasz Firebase AI Logic – nawet w przypadku uwierzytelnionych użytkowników. Dotyczy to aplikacji internetowych korzystających z pakietu Firebase JS SDK lub aplikacji internetowych Flutter.
Jeśli używasz interfejsu Firebase AI Logic REST API:
- To ustawienie blokuje żądania wnioskowania, które nie wysyłają danych logowania Firebase Authentication. Obejmuje to żądania dotyczące szablonów promptów serwera, takich jak
templateGenerateContentlubtemplateStreamGenerateContent. - To ustawienie nie blokuje żądań płaszczyzny sterowania (takich jak żądania zarządzania szablonami i konfiguracjami), ponieważ są one chronione przez uprawnienia.
- To ustawienie blokuje żądania wnioskowania, które nie wysyłają danych logowania Firebase Authentication. Obejmuje to żądania dotyczące szablonów promptów serwera, takich jak
To ustawienie nie blokuje żądań do
countTokens(interfejsu Count Tokens API).
Przed wymuszeniem trybu uwierzytelnionych użytkowników
Zanim wymusisz tryb uwierzytelnionych użytkowników, pamiętaj o tych kwestiach:
Jeśli masz już wersje aplikacji, które nie używają pakietu Firebase Authentication:
- To ustawienie będzie blokować żądania wysyłane przez Firebase AI Logic z tych istniejących wersji aplikacji.
- Zanim wymusisz tryb uwierzytelnionych użytkowników, upewnij się, że wszyscy aktywni klienci zostali zaktualizowani do wersji Firebase Authentication .
Starsze wersje wtyczki Flutter wymagają specjalnej instancji do wysyłania danych logowania Firebase Authentication z żądaniami.
- Jeśli Twoja aplikacja używa wtyczki Flutter
firebase_aiw wersji 3.11.0 lub starszej (BoM w wersji 4.12.0 lub starszej) i nie przekazuje Authentication podczas tworzenia instancji, to ustawienie będzie blokować żądania przez Firebase AI Logic – nawet w przypadku uwierzytelnionych użytkowników. - Przed wymuszeniem trybu uwierzytelnionych użytkowników upewnij się, że wszystkie aktywne klienty Flutter zostały zaktualizowane do nowszej wersji wtyczki.
- Jeśli Twoja aplikacja używa wtyczki Flutter
Skonfiguruj usługę Firebase Authentication
Dokumentacja Firebase Authentication zawiera opisy i instrukcje implementacji obsługiwanych dostawców uwierzytelniania, w tym korzystania z haseł, numerów telefonów, popularnych dostawców tożsamości sfederowanej (takich jak Google, Facebook i GitHub) i innych.
Po zaimplementowaniu Firebase Authentication w aplikacji będzie ona automatycznie wysyłać dane logowania Firebase Authentication uwierzytelnionego użytkownika w każdym żądaniu do Firebase AI Logic.
Pamiętaj o tych kwestiach dotyczących niektórych dostawców uwierzytelniania:
Niestandardowe uwierzytelnianie: musisz pobrać podpisany token uwierzytelniania, który zostanie wysłany wraz z żądaniem do Firebase AI Logic. Więcej informacji znajdziesz w artykule Uwierzytelnianie niestandardowe.
Metody uwierzytelniania Anonimowe lub E-mail/hasło: tacy użytkownicy są uznawani za uwierzytelnionych, więc ich żądania do Firebase AI Logic nie są blokowane.
Pamiętaj, że chociaż metody uwierzytelniania anonimowego i za pomocą adresu e-mail/hasła wymagają od użytkowników odwiedzenia aplikacji w celu utworzenia danych logowania Firebase Authentication, nie są to niezawodne formy uwierzytelniania (zwłaszcza w przypadku ochrony płatnych zasobów), ponieważ domyślnie nie wymagają od użytkownika weryfikacji tożsamości. Jeśli aplikacja używa domyślnej implementacji tych metod uwierzytelniania, poziom ochrony może być niższy, nawet jeśli wymusisz tryb uwierzytelnionych użytkowników. Upewnij się, że egzekwujesz też Firebase App Check.
Zarządzanie ustawieniem trybu uwierzytelnionych użytkowników
Ustawieniem trybu uwierzytelnionych użytkowników zarządzasz w konsoli Firebase.
Wymagane uprawnienia i role uprawnień
Zarządzanie ustawieniem trybu uwierzytelnionych użytkowników wymaga uprawnienia firebasevertexai.configs.update, które jest domyślnie uwzględnione w tych rolach uprawnień: właściciel, edytujący, administrator Firebase i administrator Firebase AI Logic.
Wymuszanie trybu uwierzytelnionych użytkowników
Aby wymusić tryb uwierzytelnionych użytkowników w projekcie w Firebase:
Jeśli jeszcze tego nie zrobiono, zapoznaj się z ważnymi informacjami dotyczącymi trybu uwierzytelnionych użytkowników, które znajdziesz we wcześniejszej części tego przewodnika.
Jeśli nie zostało to jeszcze zrobione, skonfiguruj Firebase Authentication w aplikacji (zgodnie z opisem we wcześniejszej części tego przewodnika).
Wymuś tryb uwierzytelnionych użytkowników:
W konsoli Firebase otwórz Usługi AI > Logika AI > karta Ustawienia.
W sekcji Tryb uwierzytelnionych użytkowników przesuń przełącznik Wymuś tryb uwierzytelnionych użytkowników do pozycji Wymuszony.
Przeczytaj informacje w oknie z potwierdzeniem i kliknij Potwierdź.
Zatrzymywanie wymuszania trybu uwierzytelnionych użytkowników
Jeśli wyłączysz egzekwowanie trybu uwierzytelnionych użytkowników, pamiętaj o tych kwestiach:
- Żądania wysyłane przez Firebase AI Logic, które nie wysyłają danych logowania Firebase Authentication, będą dozwolone.
- To jest ustawienie dla całego projektu Firebase AI Logic.
Aby przestać wymuszać tryb uwierzytelnionych użytkowników w projekcie Firebase:
W konsoli Firebase otwórz Usługi AI > Logika AI > karta Ustawienia.
W sekcji Tryb uwierzytelnionych użytkowników wyłącz opcję Wymuś tryb uwierzytelnionych użytkowników.
Przeczytaj informacje w oknie z potwierdzeniem i kliknij Potwierdź.