Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

将 App Check 与 Web 应用程序中的调试提供程序一起使用

如果在为 App Check 注册您的应用程序后,您希望在 App Check 通常不会将其归类为有效的环境中运行您的应用程序,例如在开发过程中的本地或持续集成 (CI) 环境中,您可以创建使用 App Check 调试提供程序而不是真正的证明提供程序的应用程序调试版本。

在本地主机上使用调试提供程序

使用调试提供商同时运行从您的应用程序localhost (在开发过程中,例如),请执行以下操作:

  1. 在你的调试版本,通过设置启用调试模式self.FIREBASE_APPCHECK_DEBUG_TOKENtrue初始化应用程序前检查。例如:

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
    initializeAppCheck(app, { /* App Check options */ });
    
  2. 在本地访问您的 Web 应用程序并打开浏览器的开发人员工具。在调试控制台中,您将看到一个调试令牌:

    AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678". You will
    need to safelist it in the Firebase console for it to work.
  3. 项目设置>应用程序检查的火力地堡控制台部分,从您的应用程序的溢出菜单管理调试令牌。然后,注册您在上一步中登录的调试令牌。

    “管理调试令牌”菜单项的屏幕截图

注册令牌后,Firebase 后端服务将接受它为有效。

由于此令牌允许在没有有效设备的情况下访问您的 Firebase 资源,因此将其保密至关重要。不要将其提交到公共存储库,如果注册的令牌遭到破坏,请立即在 Firebase 控制台中撤销它。

此令牌本地存储在您的浏览器中,只要您在同一台机器上的同一浏览器中使用您的应用程序,就会使用该令牌。如果你想使用该令牌在另一个浏览器或另一台机器上,设置self.FIREBASE_APPCHECK_DEBUG_TOKEN令牌字符串,而不是true

在 CI 环境中使用调试提供程序

要在持续集成 (CI) 环境中使用调试提供程序,请执行以下操作:

  1. 项目设置>应用程序检查的火力地堡控制台部分,从您的应用程序的溢出菜单管理调试令牌。然后,创建一个新的调试令牌。您将在下一步中需要令牌。

    由于此令牌允许在没有有效设备的情况下访问您的 Firebase 资源,因此将其保密至关重要。不要将其提交到公共存储库,如果注册的令牌遭到破坏,请立即在 Firebase 控制台中撤销它。

    “管理调试令牌”菜单项的屏幕截图

  2. 添加调试令牌,你刚刚创建的CI系统的安全密钥存储(例如,GitHub的操作加密机密或特拉维斯CI的加密变量)。

  3. 如有必要,配置您的 CI 系统,使您的调试令牌在 CI 环境中作为环境变量可用。命名变量类似APP_CHECK_DEBUG_TOKEN_FROM_CI

  4. 在你的调试版本,通过设置启用调试模式self.FIREBASE_APPCHECK_DEBUG_TOKEN导入应用程序检查之前调试令牌环境变量的值。例如:

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = process.env.APP_CHECK_DEBUG_TOKEN_FROM_CI;
    initializeAppCheck(app, { /* App Check options */ });
    

当您的应用在 CI 环境中运行时,Firebase 后端服务将接受它发送的有效令牌。