Na tej stronie pokazano, jak włączyć Sprawdzanie aplikacji w aplikacji internetowej przy użyciu wbudowanego dostawcy reCAPTCHA v3. Włączając Sprawdzanie aplikacji, możesz mieć pewność, że tylko Twoja aplikacja będzie miała dostęp do zasobów Firebase Twojego projektu. Zobacz przegląd tej funkcji.
Do nowych integracji powinieneś używać reCAPTCHA Enterprise i zdecydowanie zalecamy twórcom aplikacji korzystających z aktualizacji reCAPTCHA v3, jeśli to możliwe.
Aby poznać różnice pomiędzy reCAPTCHA v3 i reCAPTCHA Enterprise, zobacz porównanie funkcji .
Pamiętaj, że reCAPTCHA v3 jest niewidoczny dla użytkowników. Dostawca reCAPTCHA v3 nie będzie wymagał od użytkowników rozwiązywania wyzwania w żadnym momencie. Zobacz dokumentację reCAPTCHA v3 .
Jeśli chcesz używać Sprawdzania aplikacji z własnym dostawcą niestandardowym, zobacz Implementowanie niestandardowego dostawcy sprawdzania aplikacji .
1. Skonfiguruj projekt Firebase
Dodaj Firebase do swojego projektu JavaScript, jeśli jeszcze tego nie zrobiłeś.
Zarejestruj swoją witrynę w reCAPTCHA v3 i uzyskaj klucz witryny reCAPTCHA v3 oraz tajny klucz.
Zarejestruj swoje aplikacje, aby móc korzystać z Sprawdzania aplikacji u dostawcy reCAPTCHA w sekcji Sprawdzanie aplikacji w konsoli Firebase. Będziesz musiał podać tajny klucz, który otrzymałeś w poprzednim kroku.
Zwykle musisz zarejestrować wszystkie aplikacje w swoim projekcie, ponieważ po włączeniu wymuszania dla produktu Firebase tylko zarejestrowane aplikacje będą mogły uzyskać dostęp do zasobów zaplecza produktu.
Opcjonalnie : w ustawieniach rejestracji aplikacji ustaw niestandardowy czas wygaśnięcia (TTL) dla tokenów Sprawdzania aplikacji wydawanych przez dostawcę. Można ustawić TTL na dowolną wartość z zakresu od 30 minut do 7 dni. Zmieniając tę wartość, należy pamiętać o następujących kompromisach:
- Bezpieczeństwo: Krótsze czasy TTL zapewniają większe bezpieczeństwo, ponieważ zmniejszają okno, w którym atakujący może wykorzystać wyciekający lub przechwycony token.
- Wydajność: krótsze czasy TTL oznaczają, że aplikacja będzie częściej przeprowadzać atestację. Ponieważ proces zaświadczania aplikacji za każdym razem zwiększa opóźnienie żądań sieciowych, krótki czas TTL może mieć wpływ na wydajność aplikacji.
- Limit i koszt: Krótsze TTL i częste ponowne atesty szybciej wyczerpują Twój limit, a w przypadku usług płatnych potencjalnie kosztują więcej. Zobacz Przydziały i limity .
Domyślny TTL wynoszący 1 dzień jest rozsądny w przypadku większości aplikacji. Należy pamiętać, że biblioteka sprawdzania aplikacji odświeża tokeny w przybliżeniu o połowę czasu trwania TTL.
2. Dodaj bibliotekę App Check do swojej aplikacji
Dodaj Firebase do swojej aplikacji internetowej, jeśli jeszcze tego nie zrobiłeś. Pamiętaj, aby zaimportować bibliotekę App Check.
3. Zainicjuj sprawdzanie aplikacji
Dodaj następujący kod inicjujący do swojej aplikacji, zanim uzyskasz dostęp do jakichkolwiek usług Firebase. Będziesz musiał przekazać swój klucz witryny reCAPTCHA, który utworzyłeś w konsoli reCAPTCHA, aby activate()
.
Web modular API
import { initializeApp } from "firebase/app"; import { initializeAppCheck, ReCaptchaV3Provider } from "firebase/app-check"; const app = initializeApp({ // Your firebase configuration object }); // Pass your reCAPTCHA v3 site key (public key) to activate(). Make sure this // key is the counterpart to the secret key you set in the Firebase console. const appCheck = initializeAppCheck(app, { provider: new ReCaptchaV3Provider('abcdefghijklmnopqrstuvwxy-1234567890abcd'), // Optional argument. If true, the SDK automatically refreshes App Check // tokens as needed. isTokenAutoRefreshEnabled: true });
Web namespaced API
firebase.initializeApp({ // Your firebase configuration object }); const appCheck = firebase.appCheck(); // Pass your reCAPTCHA v3 site key (public key) to activate(). Make sure this // key is the counterpart to the secret key you set in the Firebase console. appCheck.activate( 'abcdefghijklmnopqrstuvwxy-1234567890abcd', // Optional argument. If true, the SDK automatically refreshes App Check // tokens as needed. true);
Następne kroki
Po zainstalowaniu biblioteki App Check w aplikacji wdróż ją.
Zaktualizowana aplikacja kliencka zacznie wysyłać tokeny Sprawdzania aplikacji wraz z każdym żądaniem wysyłanym do Firebase, ale produkty Firebase nie będą wymagać, aby tokeny były ważne, dopóki nie włączysz wymuszania w sekcji Sprawdzanie aplikacji w konsoli Firebase.
Monitoruj metryki i włączaj egzekwowanie
Zanim jednak włączysz wymuszanie, upewnij się, że nie zakłóci to działania istniejących legalnych użytkowników. Z drugiej strony, jeśli zauważysz podejrzane wykorzystanie zasobów aplikacji, możesz wcześniej włączyć egzekwowanie zasad.
Aby pomóc w podjęciu tej decyzji, możesz sprawdzić dane App Check dotyczące usług, z których korzystasz:
- Monitoruj metryki żądań aplikacji dla bazy danych czasu rzeczywistego, Cloud Firestore, przechowywania w chmurze i uwierzytelniania (beta).
- Monitoruj metryki żądań aplikacji dla Cloud Functions .
Włącz wymuszanie sprawdzania aplikacji
Kiedy już zrozumiesz, jak Kontrola aplikacji wpłynie na Twoich użytkowników i będziesz gotowy, aby kontynuować, możesz włączyć wymuszanie Sprawdzania aplikacji:
- Włącz wymuszanie sprawdzania aplikacji dla bazy danych czasu rzeczywistego, Cloud Firestore, przechowywania w chmurze i uwierzytelniania (beta).
- Włącz wymuszanie sprawdzania aplikacji dla funkcji Cloud .
Użyj sprawdzania aplikacji w środowiskach debugowania
Jeśli po zarejestrowaniu aplikacji w Kontroli aplikacji chcesz ją uruchomić w środowisku, którego weryfikacja aplikacji normalnie nie sklasyfikowałaby jako prawidłowe, na przykład lokalnie podczas programowania lub w środowisku ciągłej integracji (CI), możesz utworzyć kompilacja debugowania aplikacji, która korzysta z dostawcy debugowania App Check zamiast prawdziwego dostawcy zaświadczenia.
Zobacz Używanie sprawdzania aplikacji z dostawcą debugowania w aplikacjach internetowych .