如果您在为 App Check 注册应用后,想要运行您的 应用在 App Check 通常无法归类为有效的环境中, 例如在开发期间使用模拟器,或通过持续集成 (CI) 集成 您可以创建一个使用 App Check 调试提供程序,而不是 App Attest。
<ph type="x-smartling-placeholder">在模拟器中使用调试提供程序
在模拟器中以交互方式运行应用时使用调试提供程序 (例如在开发期间),请执行以下操作:
在凭据页面上查找项目的 iOS API 密钥 API 和Google Cloud 控制台的“服务”部分。
在调试 build 中,将 App Check 配置为使用调试提供程序。您 您需要指定在上一步中获取的 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'.
在 App Check 部分中 在 Firebase 控制台中,从应用的“管理”页面选择管理调试令牌 菜单。然后,注册您在上一步中记录的调试令牌 操作。
在您注册令牌后,Google 的 OAuth 2.0 端点会接受该令牌, 适用于您的项目
由于此令牌允许访问您的身份验证端点,而无需 因此请务必确保设备的私密性不要将其承诺 并且如果已注册的令牌被盗,则将其撤消 即可直接在 Firebase 控制台中访问
在 CI 环境中使用调试提供程序
如需在持续集成 (CI) 环境中使用调试提供程序,请执行以下操作: 以下:
在 App Check 部分中 在 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)
在凭据页面上查找项目的 iOS API 密钥 API 和Google Cloud 控制台的“服务”部分。
在调试 build 中,将 App Check 配置为使用调试提供程序。您 您需要指定在上一步中获取的 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
当您的应用在持续集成环境中运行时,Google 的 OAuth 2.0 端点将接受 它发送的对您的项目有效的令牌。