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