Pierwsze kroki w Sprawdzaniu aplikacji pod kątem Logowania przez Google na iOS

Na tej stronie znajdziesz instrukcje włączania Sprawdzania aplikacji w aplikacji na iOS. Włączając Sprawdzanie aplikacji, zapewniasz, że tylko Twoja aplikacja będzie mieć dostęp do punktów końcowych OAuth 2.0 Google w imieniu projektu. Zapoznaj się z omówieniem tej funkcji.

Sprawdzanie aplikacji korzysta z App Attest, aby weryfikować, czy żądania OAuth 2.0 pochodzą z autentycznej aplikacji. Sprawdzanie aplikacji nie używa App Attest do analizowania ryzyka związanego z oszustwem.

Zanim zaczniesz

  1. Upewnij się, że masz Xcode 12.5 lub nowszą.

  2. Zintegruj logowanie przez Google ze swoją aplikacją na iOS, korzystając z biblioteki Logowanie przez Google.

1. Konfigurowanie projektu

Funkcję sprawdzania aplikacji możesz włączyć w  lub w konsoli Firebase. Nie musisz włączać tej funkcji w obu miejscach – wystarczy jedno z nich.

Aby móc włączyć Sprawdzanie aplikacji dla klienta na iOS, musisz spełnić te wymagania:
  • Musisz podać identyfikator zespołu dla klienta na iOS.
  • Nie możesz użyć symbolu wieloznacznego w identyfikatorze pakietu, ponieważ może on wskazywać więcej niż 1 aplikację. Oznacza to, że identyfikator pakietu nie może zawierać gwiazdki (*).
Aby włączyć Sprawdzanie aplikacji, w widoku edycji klienta na iOS włącz przełącznik Chroń klienta OAuth przed nadużyciami przy pomocy funkcji Sprawdzanie aplikacji Firebase.

Po włączeniu Sprawdzania aplikacji w oknie edycji klienta OAuth zaczną się wyświetlać dane dotyczące żądań OAuth z Twojego klienta. Żądania z niezweryfikowanych źródeł nie będą blokowane, dopóki nie włączysz sprawdzania aplikacji. Informacje na stronie monitorowania wskaźników mogą pomóc Ci określić, kiedy rozpocząć egzekwowanie zasad.

Po włączeniu funkcji sprawdzania aplikacji w przypadku aplikacji na iOS mogą pojawić się błędy związane z tą funkcją. Aby je naprawić, wykonaj te czynności:

  • Sprawdź, czy podany identyfikator pakietu i identyfikator zespołu są prawidłowe.
  • Sprawdź, czy identyfikator pakietu nie zawiera symbolu wieloznacznego.

Konsola Firebase

  1. Aby korzystać z funkcji sprawdzania aplikacji w połączeniu z logowaniem się przez Google, musisz mieć projekt Firebase.

    • Jeśli Twoja aplikacja już korzysta z Firebase, użyj tego samego projektu.

    • Jeśli Twoja aplikacja korzysta z logowania w Google, ale nie z Firebase, masz już projekt Google Cloud. Dodaj Firebase do projektu Google Cloud, wybierając go podczas tworzenia nowego projektu w konsoli Firebase.

      Zobacz też: Związek między projektami Firebase a Google Cloud

  2. Jeśli jeszcze tego nie zrobisz, dodaj aplikacje na iOS do projektu Firebase, korzystając z strony Ustawienia projektu w konsoli Firebase.

  3. Zarejestruj aplikacje, aby używać Sprawdzania aplikacji u dostawcy App Attest, w sekcji Sprawdzanie aplikacji w konsoli Firebase.

  4. Upewnij się, że wszyscy klienci OAuth projektu są powiązani z aplikacją.

    Jeśli masz odłączonych klientów, w sekcji Identyfikator Google na iOS na stronie Sprawdzanie aplikacji zobaczysz komunikat „Maszn odłączonych klientów OAuth, którzy wymagają dodatkowej konfiguracji”.

    Jeśli po skonfigurowaniu niektórych klientów OAuth w Sprawdzaniu aplikacji usuniesz ich, zobaczysz komunikat „Masz nzastąpień bez pasującego klienta OAuth”. Możesz je bezpiecznie usunąć, usuwając te zastąpienia.

    Możesz połączyć niezałączonych klientów z dotychczasową lub nową aplikacją na stronie Klienci OAuth w konsoli Firebase.

2. Dodawanie do aplikacji biblioteki logowania w Google

  1. W projekcie Xcode ustaw zależność Logowania w Google na wersję 8.0.0 lub nowszą :

    Ustaw regułę zależności googlesignin-ios na wersję 8.0.0 lub nowszą.

    Zaktualizuj urządzenie Podfile:

    source 'https://github.com/CocoaPods/Specs.git'
    source 'https://github.com/firebase/SpecsDev.git'
    
    target 'YourAppName' do
      use_frameworks!
    
      pod 'GoogleSignIn','~> 8.0'
          :git => 'https://github.com/google/GoogleSignIn-iOS.git'
      pod 'GoogleSignInSwiftSupport'  # If you use SwiftUI.
    end
    

    Następnie uruchom pod install i otwórz utworzony plik .xcworkspace.

  2. W Xcode dodaj do aplikacji funkcję App Attest.

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

3. Inicjalizacja Sprawdzania aplikacji

W metodzie didFinishLaunchingWithOptions delegowanego obiektu aplikacji wywołaj funkcję GIDSignIn.sharedInstance.configure(completion:). Aby zminimalizować opóźnienia odczuwane przez użytkownika, wywołaj tę metodę jak najwcześniej w cyklu życia aplikacji.

.
import SwiftUI
import GoogleSignIn

class AppDelegate: NSObject, UIApplicationDelegate {
  func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil
  ) -> Bool {
    #if targetEnvironment(simulator)
    // Configure for debugging.
    // See: https://developers.google.com/identity/sign-in/ios/appcheck/debug-provider
    #else
    GIDSignIn.sharedInstance.configure { error in
      if let error {
        print("Error configuring `GIDSignIn` for Firebase App Check: \(error)")
      }
    }
    #endif

    return true
  }
}

@main
struct YourAppNameApp: App {
  @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate

  // ...
}

Dalsze kroki

Po zainstalowaniu w aplikacji biblioteki App Check zacznij rozpowszechniać zaktualizowaną aplikację wśród użytkowników.

Zaktualizowana aplikacja klienta zacznie wysyłać tokeny Sprawdzania aplikacji wraz z każdym żądaniem wysyłanym do punktów końcowych uwierzytelniania Google, ale te punkty końcowe nie będą wymagać, aby tokeny były prawidłowe, dopóki nie włączysz wymuszania w sekcji Sprawdzanie aplikacji w konsoli Firebase.

Monitorowanie danych

Zanim jednak włączysz egzekwowanie zasad, upewnij się, że nie zakłóci to działania dotychczasowych legalnych użytkowników. Jeśli jednak zauważysz podejrzane wykorzystanie zasobów aplikacji, możesz wcześniej włączyć egzekwowanie.

Aby ułatwić podjęcie decyzji, możesz sprawdzić dane z aplikacji dotyczące logowania się przez Google.

Włączanie Sprawdzania aplikacji

Gdy zrozumiesz, jak funkcja sprawdzania aplikacji wpłynie na użytkowników i będziesz gotowy do dalszych działań, możesz włączyć egzekwowanie sprawdzania aplikacji.

Korzystanie z aplikacji App Check w środowiskach debugowania

Jeśli po zarejestrowaniu aplikacji w Sprawdzaniu aplikacji chcesz uruchomić ją w środowisku, które nie jest zwykle uznawane przez Sprawdzanie aplikacji za prawidłowe, np. w symulacji podczas tworzenia lub w środowisku ciągłej integracji (CI), możesz utworzyć wersję debugowania aplikacji, która używa dostawcy debugowania Sprawdzania aplikacji zamiast App Attest.

Zobacz Używanie App Check z usługodawcą debugowania.