Z tej strony dowiesz się, jak włączyć Sprawdzanie aplikacji w aplikacji Apple przy użyciu od wbudowanego dostawcy App Attest. Włączenie Sprawdzania aplikacji aby dostęp do zasobów Firebase projektu miał tylko aplikacja. Zobacz Omówienie tej funkcji.
Sprawdzanie aplikacji używa App Attest aby sprawdzić, czy żądania wysyłane do usług Firebase pochodzą z autentycznej aplikacji. Sprawdzanie aplikacji nie używa obecnie App Attest do Analizę ryzyka oszustwa.
Jeśli chcesz używać Sprawdzania aplikacji z własnym dostawcą niestandardowym, zobacz Zaimplementuj niestandardowego dostawcę Sprawdzanie aplikacji.
1. Skonfiguruj projekt Firebase
Aby korzystać z App Attest, musisz mieć Xcode 12.5 lub nowszy.
Dodaj Firebase do swojego projektu Apple, jeśli jeszcze nie zostało to zrobione. tak się stało.
Zarejestruj swoje aplikacje, aby używać Sprawdzania aplikacji u dostawcy App Attest w sekcji Sprawdzanie aplikacji na konsoli Firebase.
Zwykle konieczne jest zarejestrowanie wszystkich aplikacji związanych z projektem, ponieważ włączysz egzekwowanie zasad dla usługi Firebase, tylko zarejestrowane aplikacje będą mogły na dostęp do zasobów backendu usługi.
Opcjonalnie: w ustawieniach rejestracji aplikacji ustaw niestandardowy czas życia danych (TTL) tokenów Sprawdzania aplikacji wystawionych przez dostawcę. Możesz ustawić wartość TTL na dowolną wartość z zakresu od 30 minut do 7 dni. Zmieniając tę wartość, pamiętaj o tych wadach:
- Bezpieczeństwo: krótsze wartości TTL zapewniają silniejsze zabezpieczenia, ponieważ zmniejszają okno, w którym ujawniony lub przechwycony token może zostać wykorzystany przez atakującego.
- Wydajność: krótsze wartości TTL oznaczają większą wydajność atestu aplikacji często. Ponieważ proces poświadczania aplikacji zwiększa opóźnienie sieci. żądań przy każdym wykonaniu, krótki czas TTL może wpływać na wydajność Twojej aplikacji.
- Limit i koszt: krótsze wartości TTL i częsta ponowna atestacja powodują wyczerpywanie się przyśpieszać limity, a w przypadku usług płatnych może to być wyższe. Zobacz Limity i .
Domyślna wartość TTL 1 godzina jest rozsądny w przypadku większości aplikacji. Pamiętaj, że biblioteka Sprawdzania aplikacji jest odświeżana. tokeny z mniej więcej połowę czasu TTL.
2. Dodawanie biblioteki Sprawdzania aplikacji do aplikacji
Dodaj zależność Sprawdzania aplikacji do zasobu
Podfile
projektu:pod 'FirebaseAppCheck'
Możesz też użyć pakietu Swift, Menedżer.
Upewnij się też, że używasz najnowszej wersji innych pakietów SDK Firebase na których Ci zależy.
Uruchom
pod install
i otwórz utworzony plik.xcworkspace
.W Xcode dodaj do swojej aplikacji funkcję App Attest.
W pliku
.entitlements
projektu ustaw środowisko App Attest naproduction
3. Inicjowanie Sprawdzania aplikacji
Zanim zaczniesz używać innych usług Firebase, musisz zainicjować Sprawdzanie aplikacji Pakiety SDK.
Najpierw napisz implementację algorytmu AppCheckProviderFactory
. Właściwości
implementacja będzie zależała od konkretnego przypadku użycia.
Jeśli na przykład masz tylko użytkowników urządzeń z systemem iOS 14 lub nowszym, możesz po prostu w każdej chwili
utwórz obiekty (AppAttestProvider
):
Swift
Uwaga: ta usługa Firebase nie jest dostępna na celach w zegarku watchOS.
class YourSimpleAppCheckProviderFactory: NSObject, AppCheckProviderFactory { func createProvider(with app: FirebaseApp) -> AppCheckProvider? { return AppAttestProvider(app: app) } }
Objective-C
Uwaga: ta usługa Firebase nie jest dostępna na celach w zegarku watchOS.
@interface YourSimpleAppCheckProviderFactory : NSObject <FIRAppCheckProviderFactory> @end @implementation YourSimpleAppCheckProviderFactory - (nullable id<FIRAppCheckProvider>)createProviderWithApp:(nonnull FIRApp *)app { return [[FIRAppAttestProvider alloc] initWithApp:app]; } @end
Możesz też tworzyć obiekty AppAttestProvider
na urządzeniach z systemem iOS 14 lub nowszym, a także jesienią.
powrót do: DeviceCheckProvider
w wcześniejszych wersjach:
Swift
Uwaga: ta usługa Firebase nie jest dostępna na celach w zegarku watchOS.
class YourAppCheckProviderFactory: NSObject, AppCheckProviderFactory { func createProvider(with app: FirebaseApp) -> AppCheckProvider? { if #available(iOS 14.0, *) { return AppAttestProvider(app: app) } else { return DeviceCheckProvider(app: app) } } }
Objective-C
Uwaga: ta usługa Firebase nie jest dostępna na celach w zegarku watchOS.
@interface YourAppCheckProviderFactory : NSObject <FIRAppCheckProviderFactory> @end @implementation YourAppCheckProviderFactory - (nullable id<FIRAppCheckProvider>)createProviderWithApp:(nonnull FIRApp *)app { if (@available(iOS 14.0, *)) { return [[FIRAppAttestProvider alloc] initWithApp:app]; } else { return [[FIRDeviceCheckProvider alloc] initWithApp:app]; } } @end
Po zaimplementowaniu klasy AppCheckProviderFactory
skonfiguruj
Aby użyć Sprawdzania aplikacji:
Swift
Uwaga: ta usługa Firebase nie jest dostępna na celach w zegarku watchOS.
let providerFactory = YourAppCheckProviderFactory() AppCheck.setAppCheckProviderFactory(providerFactory) FirebaseApp.configure()
Objective-C
Uwaga: ta usługa Firebase nie jest dostępna na celach w zegarku watchOS.
YourAppCheckProviderFactory *providerFactory = [[YourAppCheckProviderFactory alloc] init]; [FIRAppCheck setAppCheckProviderFactory:providerFactory]; [FIRApp configure];
Dalsze kroki
Gdy zainstalujesz w aplikacji bibliotekę Sprawdzanie aplikacji, zacznij rozpowszechniać zaktualizowane aplikacje.
Zaktualizowana aplikacja kliencka zacznie wysyłać tokeny Sprawdzania aplikacji i wysyła żądania do Firebase, ale usługi Firebase nie będą wymagać tokenów będzie ważne do momentu włączenia wymuszania w sekcji Sprawdzanie aplikacji konsoli Firebase.
Monitorowanie wskaźników i włączanie wymuszania
Zanim jednak włączysz wymuszanie, upewnij się, że nie zakłócać działanie istniejących prawidłowych użytkowników. Z drugiej strony, jeśli widzisz podejrzane wykorzystanie zasobów aplikacji, warto włączyć wymuszanie szybciej.
W podjęciu tej decyzji mogą pomóc dane funkcji Sprawdzanie aplikacji używanych usług:
- Monitorowanie danych żądań Sprawdzania aplikacji: Baza danych czasu rzeczywistego, Cloud Firestore, Cloud Storage i Uwierzytelnianie (beta).
- Monitorowanie wskaźników żądań Sprawdzania aplikacji w Cloud Functions
Włącz wymuszanie Sprawdzania aplikacji
Gdy zrozumiesz, jak Sprawdzanie aplikacji wpłynie na Twoich użytkowników, możesz zacząć możesz włączyć wymuszanie Sprawdzania aplikacji:
- Włącz wymuszanie Sprawdzania aplikacji dla Baza danych czasu rzeczywistego, Cloud Firestore, Cloud Storage i Uwierzytelnianie (beta).
- Włącz wymuszanie Sprawdzania aplikacji w Cloud Functions.
Używanie Sprawdzania aplikacji w środowiskach debugowania
Jeśli po zarejestrowaniu aplikacji w Sprawdzaniu aplikacji chcesz ją uruchomić w środowisku, którego Sprawdzanie aplikacji zwykle nie sklasyfikowałoby jako prawidłowe, takich jak symulator w fazie programowania lub w trybie ciągłej integracji (CI), możesz utworzyć kompilację do debugowania aplikacji wykorzystującą dostawca debugowania Sprawdzania aplikacji zamiast prawdziwego dostawcy atestu;
Zapoznaj się z artykułem na temat używania Sprawdzania aplikacji z dostawcą debugowania na platformach Apple.