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

Na tej stronie dowiesz się, jak włączyć Sprawdzanie aplikacji w aplikacji na iOS. Gdy włączysz Sprawdzanie aplikacji, będziesz mieć pewność, że tylko Twoja aplikacja może uzyskiwać dostęp do punktów końcowych OAuth 2.0 Google w imieniu Twojego projektu. Zobacz omówienie tej funkcji.

Sprawdzanie aplikacji korzysta z App Attest, aby pomóc w weryfikacji, czy żądania OAuth 2.0 pochodzą z autentycznej aplikacji. Sprawdzanie aplikacji nie używa App Attest do analizowania ryzyka oszustwa.

Zanim zaczniesz

  1. Upewnij się, że masz Xcode w wersji 12.5 lub nowszej.

  2. Zintegruj logowanie przez Google z aplikacją na iOS, korzystając z biblioteki logowania przez Google.

1. Konfigurowanie projektu

Weryfikację aplikacji możesz włączyć w Google API Console lub w konsoli Firebase. Nie musisz włączać tej funkcji w obu miejscach, wystarczy w jednym z nich.

Google API Console

Aby włączyć Sprawdzanie aplikacji na kliencie iOS, musisz spełnić te wymagania:
  • Musisz określić identyfikator zespołu dla klienta iOS.
  • W identyfikatorze pakietu nie możesz używać symbolu wieloznacznego, ponieważ może on odnosić się do więcej niż jednej aplikacji. Oznacza to, że identyfikator pakietu nie może zawierać symbolu gwiazdki (*).
Aby włączyć Sprawdzanie aplikacji, w widoku edycji klienta iOS włącz przycisk Chroń klienta OAuth przed nadużyciami przy pomocy funkcji Sprawdzanie aplikacji Firebase.

Po włączeniu Sprawdzania aplikacji w widoku edycji klienta OAuth zaczniesz widzieć dane dotyczące żądań OAuth pochodzących z Twojego klienta. Żądania z niezweryfikowanych źródeł nie będą blokowane, dopóki nie wymusisz weryfikacji aplikacji. Informacje na stronie monitorowania wskaźników mogą pomóc Ci określić, kiedy rozpocząć egzekwowanie.

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

  • Sprawdź, czy podane identyfikator pakietu i identyfikator zespołu są prawidłowe.
  • Sprawdź, czy w identyfikatorze pakietu nie używasz symbolu wieloznacznego.

Konsola Firebase

  1. Aby korzystać z weryfikacji aplikacji w przypadku logowania przez Google, musisz mieć projekt Firebase.

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

    • Jeśli Twoja aplikacja korzysta z logowania przez 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 na stronie Ustawienia projektu w konsoli Firebase.

  3. Zarejestruj aplikacje, aby korzystać ze Sprawdzania aplikacji z dostawcą App Attest w sekcji Sprawdzanie aplikacji w konsoli Firebase.

  4. Upewnij się, że wszystkie klienty OAuth projektu są połączone z aplikacją.

    Jeśli masz odłączonych klientów, w sekcji Google Identity na iOS na stronie App Check zobaczysz komunikat „Masz n odłączonych klientów OAuth, którzy wymagają dodatkowej konfiguracji”.

    Jeśli po skonfigurowaniu klientów OAuth w Sprawdzaniu aplikacji usuniesz niektórych z nich, zobaczysz komunikat „Masz n zastąpień bez pasującego klienta OAuth”. Możesz bezpiecznie wyczyścić te ustawienia, usuwając je.

    Niepołączonych klientów możesz połączyć z istniejącą lub nową aplikacją na stronie Klienci OAuth w konsoli Firebase.

2. Dodawanie biblioteki logowania przez Google do aplikacji

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

    menedżer ds. partnera strategicznego

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

    CocoaPods

    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. Inicjowanie Sprawdzania aplikacji

W metodzie didFinishLaunchingWithOptions delegata aplikacji wywołaj GIDSignIn.sharedInstance.configure(completion:). Aby zminimalizować opóźnienia widoczne dla użytkownika, tę metodę należy wywoływać 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 kliencka zacznie wysyłać tokeny Sprawdzania aplikacji wraz z każdym żądaniem kierowanym do punktów końcowych uwierzytelniania Google, ale 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, upewnij się, że nie zakłóci to działania obecnych, legalnych użytkowników. Jeśli jednak zauważysz podejrzane wykorzystanie zasobów aplikacji, możesz włączyć egzekwowanie wcześniej.

Aby ułatwić sobie podjęcie tej decyzji, możesz sprawdzić statystyki App Check dotyczące logowania przez Google.

Włączanie wymuszania Sprawdzania aplikacji

Gdy zrozumiesz, jak App Check wpłynie na użytkowników, i będziesz gotowy(-a) do kontynuowania, możesz włączyć wymuszanie App Check.

Używanie usługi App Check w środowiskach debugowania

Jeśli po zarejestrowaniu aplikacji w Sprawdzaniu aplikacji chcesz uruchomić ją w środowisku, które Sprawdzanie aplikacji zwykle nie klasyfikuje jako prawidłowe, np. w symulatorze podczas programowania lub w środowisku ciągłej integracji (CI), możesz utworzyć kompilację debugowania aplikacji, która zamiast App Attest korzysta z dostawcy debugowania Sprawdzania aplikacji.

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