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
Upewnij się, że masz Xcode 12.5 lub nowszą.
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 (*).
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
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
Jeśli jeszcze tego nie zrobisz, dodaj aplikacje na iOS do projektu Firebase, korzystając z strony Ustawienia projektu w konsoli Firebase.
Zarejestruj aplikacje, aby używać Sprawdzania aplikacji u dostawcy App Attest, w sekcji Sprawdzanie aplikacji w konsoli Firebase.
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
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
.W Xcode dodaj do aplikacji funkcję App Attest.
W pliku
.entitlements
projektu ustaw środowisko App Attest naproduction
.
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.