Если после регистрации приложения для проверки приложений вы хотите запустить его в среде, которую проверка приложений обычно не классифицирует как допустимую, например, в симуляторе во время разработки или в среде непрерывной интеграции (CI), вы можете создайте отладочную сборку вашего приложения, которая использует поставщика отладки App Check вместо App Attest.
Используйте поставщика отладки в симуляторе
Чтобы использовать поставщика отладки при интерактивном запуске приложения в симуляторе (например, во время разработки), выполните следующие действия:
Найдите ключ iOS API для своего проекта на странице «Учетные данные» раздела «API и службы» консоли Google Cloud.
В отладочной сборке настройте проверку приложений на использование поставщика отладки. Вам нужно будет указать ключ API, который вы получили на предыдущем шаге.
#if targetEnvironment(simulator) GIDSignIn.sharedInstance.configureDebugProvider(withAPIKey: apiKey) { error in if let error { print("Error configuring `GIDSignIn` for App Check: \(error)") } } #else // Configure App Check for production. #endif
Запустите приложение. Локальный токен отладки будет зарегистрирован в консоли Xcode, когда SDK попытается отправить запрос на серверную часть. Например:
<Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.
В разделе «Проверка приложений» консоли Firebase выберите «Управление токенами отладки» в дополнительном меню вашего приложения. Затем зарегистрируйте токен отладки, который вы зарегистрировали на предыдущем шаге.
После того как вы зарегистрируете токен, конечные точки Google OAuth 2.0 примут его как действительный для вашего проекта.
Поскольку этот токен обеспечивает доступ к вашим конечным точкам аутентификации без действительного устройства, крайне важно, чтобы вы сохраняли его конфиденциальность. Не помещайте его в общедоступный репозиторий, и если зарегистрированный токен когда-либо будет скомпрометирован, немедленно отзовите его в консоли Firebase.
Использование поставщика отладки в среде CI
Чтобы использовать поставщика отладки в среде непрерывной интеграции (CI), выполните следующие действия:
В разделе «Проверка приложений» консоли Firebase выберите «Управление токенами отладки» в дополнительном меню вашего приложения. Затем создайте новый токен отладки. Токен понадобится вам на следующем шаге.
Поскольку этот токен обеспечивает доступ к вашим конечным точкам аутентификации без действительного устройства, крайне важно, чтобы вы сохраняли его конфиденциальность. Не помещайте его в общедоступный репозиторий, и если зарегистрированный токен когда-либо будет скомпрометирован, немедленно отзовите его в консоли Firebase.
Добавьте только что созданный токен отладки в безопасное хранилище ключей вашей системы CI (например, зашифрованные секреты GitHub Actions или зашифрованные переменные Travis CI).
При необходимости настройте свою систему CI так, чтобы ваш токен отладки был доступен в среде CI в качестве переменной среды. Назовите переменную примерно так:
APP_CHECK_DEBUG_TOKEN_FROM_CI
.В Xcode добавьте переменную среды в вашу схему тестирования с именем
FIRAAppCheckDebugToken
и чем-то вроде$(APP_CHECK_DEBUG_TOKEN)
в качестве значения.Настройте тестовый сценарий CI для передачи токена отладки в качестве переменной среды. Например:
xcodebuild test -scheme YourTestScheme -workspace YourProject.xcworkspace \ APP_CHECK_DEBUG_TOKEN=$(APP_CHECK_DEBUG_TOKEN_FROM_CI)
Найдите ключ API iOS для своего проекта на странице «Учетные данные» раздела «API и службы» консоли Google Cloud.
В отладочной сборке настройте проверку приложений на использование поставщика отладки. Вам нужно будет указать ключ API, который вы получили на предыдущем шаге.
#if targetEnvironment(simulator) GIDSignIn.sharedInstance.configureDebugProvider(withAPIKey: apiKey) { error in if let error { print("Error configuring `GIDSignIn` for App Check: \(error)") } } #else // Configure App Check for production. #endif
Когда ваше приложение работает в среде CI, конечные точки Google OAuth 2.0 будут принимать отправленный токен как действительный для вашего проекта.