Pierwsze kroki ze Sprawdzaniem aplikacji za pomocą App Attest na platformach Apple

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

  1. Aby korzystać z App Attest, musisz mieć Xcode 12.5 lub nowszy.

  2. Dodaj Firebase do swojego projektu Apple, jeśli jeszcze nie zostało to zrobione. tak się stało.

  3. 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.

  4. 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

  1. 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.

  2. Uruchom pod install i otwórz utworzony plik .xcworkspace.

  3. W Xcode dodaj do swojej aplikacji funkcję App Attest.

  4. W pliku .entitlements projektu ustaw środowisko App Attest na production

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:

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:

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.