Начните использовать проверку приложений для входа в Google на iOS

На этой странице показано, как включить проверку приложений в приложении iOS. Включив проверку приложений, вы гарантируете, что только ваше приложение сможет получить доступ к конечным точкам Google OAuth 2.0 от имени вашего проекта. См. обзор этой функции.

Проверка приложений использует App Attest, чтобы убедиться, что запросы OAuth 2.0 поступают от вашего подлинного приложения. App Check не использует App Attest для анализа риска мошенничества .

Прежде чем вы начнете

  1. Убедитесь, что у вас установлен Xcode 12.5 или новее.

  2. Интегрируйте вход Google в свое приложение iOS с помощью библиотеки входа в Google .

1. Настройте свой проект

  1. Чтобы использовать проверку приложений при входе в Google, у вас должен быть проект Firebase.

    • Если ваше приложение уже использует Firebase, используйте тот же проект.

    • Если ваше приложение использует вход в Google, но не Firebase, у вас уже есть проект Google Cloud. Добавьте Firebase в свой проект Google Cloud, выбрав его при создании нового проекта в консоли Firebase.

    См. также: Связь между проектами Firebase и Google Cloud.

  2. Если вы еще этого не сделали, добавьте свои приложения iOS в проект Firebase, используя страницу настроек проекта в консоли Firebase.

  3. Зарегистрируйте свои приложения, чтобы использовать проверку приложений, у поставщика App Attest в разделе «Проверка приложений» консоли Firebase.

  4. Убедитесь, что все клиенты OAuth вашего проекта связаны с приложением.

    Если у вас есть несвязанные клиенты, в разделе «Удостоверение Google для iOS» на странице «Проверка приложений» вы увидите сообщение: «У вас n несвязанных клиентов OAuth, требующих дополнительной настройки».

    Кроме того, если вы удалили некоторые клиенты OAuth после их настройки в разделе «Проверка приложений», вы увидите сообщение: «У вас есть n переопределений без соответствующего клиента OAuth» . Вы можете безопасно выполнить очистку, удалив эти переопределения.

    Вы можете связать несвязанные клиенты с существующим или новым приложением на странице клиентов OAuth в консоли Firebase.

2. Добавьте бета-библиотеку входа в Google в свое приложение.

  1. В проекте Xcode установите зависимость входа в Google для версии 7.1.0-fac-beta-1.1.0 :

    СЗМ

    Установите для правила зависимости googlesignin-ios точную версию: 7.1.0-fac-beta-1.1.0 .

    Какао-стручки

    Обновите свой Podfile :

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

    Затем запустите pod install и откройте созданный файл .xcworkspace .

  2. В Xcode добавьте в свое приложение возможность App Attest .

  3. В файле .entitlements вашего проекта установите для среды App Attest значение production .

3. Инициализировать проверку приложения

В методе didFinishLaunchingWithOptions делегата вашего приложения вызовите GIDSignIn.sharedInstance.configure(completion:) . Вам следует вызывать этот метод как можно раньше в жизненном цикле вашего приложения, чтобы минимизировать задержку, воспринимаемую пользователем.

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

  // ...
}

Следующие шаги

После установки библиотеки App Check в ваше приложение начните распространять обновленное приложение среди своих пользователей.

Обновленное клиентское приложение начнет отправлять токены проверки приложений вместе с каждым запросом к конечным точкам аутентификации Google, но конечные точки не будут требовать, чтобы токены были действительными, пока вы не включите принудительное применение в разделе «Проверка приложений» консоли Firebase.

Мониторинг показателей

Однако прежде чем включать принудительное применение, вы должны убедиться, что это не повредит работе существующих законных пользователей. С другой стороны, если вы заметили подозрительное использование ресурсов вашего приложения, возможно, вам захочется включить принудительное применение раньше.

Чтобы принять это решение, вы можете просмотреть показатели проверки приложений для входа в Google .

Включить принудительное выполнение проверки приложений

Когда вы поймете, как проверка приложений повлияет на ваших пользователей, и будете готовы продолжить, вы сможете включить принудительное применение проверки приложений .

Используйте проверку приложений в средах отладки

Если после регистрации вашего приложения для проверки приложений вы хотите запустить его в среде, которую проверка приложений обычно не классифицирует как допустимую, например, в симуляторе во время разработки или в среде непрерывной интеграции (CI), вы можете создайте отладочную сборку вашего приложения, которая использует поставщика отладки App Check вместо App Attest.

См. раздел «Использование проверки приложений с поставщиком отладки» .