Начните использовать проверку приложений для входа в 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. Настройте свой проект

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

Для успешного включения проверки приложений для вашего клиента iOS должны быть выполнены следующие требования:
  • Вы должны указать идентификатор команды для вашего iOS-клиента.
  • Вы не должны использовать подстановочный знак в идентификаторе пакета, поскольку он может относиться к более чем одному приложению. Это означает, что идентификатор пакета не должен содержать символ звездочки (*).
Чтобы включить проверку приложений, включите переключатель «Защитить свой OAuth-клиент от злоупотреблений с помощью проверки приложений Firebase» в представлении редактирования вашего iOS-клиента.

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

При включении проверки приложений для приложения iOS вы можете увидеть ошибки, связанные с функцией проверки приложений. Чтобы исправить эти ошибки, попробуйте следующее:

  • Убедитесь, что указанные вами идентификатор пакета и идентификатор группы действительны.
  • Убедитесь, что вы не используете подстановочный знак для идентификатора пакета.

Консоль Firebase

  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 версию 8.0.0 или выше:

    СЗМ

    Установите для правила зависимости googlesignin-ios версию 8.0.0 или выше.

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

    Обновите свой 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
    

    Затем запустите 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.

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