如果在为 App Check 注册您的应用程序后,您希望在 App Check 通常不会归类为有效的环境中运行您的应用程序,例如在开发期间在本地运行,或者在持续集成 (CI) 环境中运行,您可以创建使用 App Check 调试提供程序而不是真正的证明提供程序的应用程序调试版本。
在本地主机上使用调试提供程序
要在从localhost
运行您的应用程序时使用调试提供程序(例如,在开发期间),请执行以下操作:
在调试版本中,通过在初始化 App Check 之前将
self.FIREBASE_APPCHECK_DEBUG_TOKEN
设置为true
来启用调试模式。例如:Web version 9
self.FIREBASE_APPCHECK_DEBUG_TOKEN = true; initializeAppCheck(app, { /* App Check options */ });
Web version 8
self.FIREBASE_APPCHECK_DEBUG_TOKEN = true; firebase.appCheck().activate(/* site key or provider */);
在本地访问您的网络应用程序并打开浏览器的开发人员工具。在调试控制台中,您会看到一个调试标记:
AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678". You will need to safelist it in the Firebase console for it to work.
在 Firebase 控制台的App Check部分,从应用的溢出菜单中选择Manage debug tokens 。然后,注册您在上一步中登录的调试令牌。
注册令牌后,Firebase 后端服务会将其视为有效。
由于此令牌允许在没有有效设备的情况下访问您的 Firebase 资源,因此将其保密至关重要。不要将其提交到公共存储库,如果注册的令牌遭到破坏,请立即在 Firebase 控制台中将其撤销。
此令牌本地存储在您的浏览器中,只要您在同一台机器上的同一浏览器中使用您的应用程序,就会被使用。如果您想在另一个浏览器或另一台机器上使用令牌,请将self.FIREBASE_APPCHECK_DEBUG_TOKEN
设置为令牌字符串而不是true
。
在 CI 环境中使用调试提供程序
要在持续集成 (CI) 环境中使用调试提供程序,请执行以下操作:
在 Firebase 控制台的App Check部分,从应用的溢出菜单中选择Manage debug tokens 。然后,创建一个新的调试令牌。您将在下一步中需要该令牌。
由于此令牌允许在没有有效设备的情况下访问您的 Firebase 资源,因此将其保密至关重要。不要将其提交到公共存储库,如果注册的令牌遭到破坏,请立即在 Firebase 控制台中将其撤销。
将您刚刚创建的调试令牌添加到 CI 系统的安全密钥存储(例如,GitHub Actions 的加密机密或 Travis CI 的加密变量)。
如有必要,配置您的 CI 系统,使您的调试令牌在 CI 环境中作为环境变量可用。将变量命名为
APP_CHECK_DEBUG_TOKEN_FROM_CI
之类的名称。在调试版本中,通过在导入 App Check 之前将
self.FIREBASE_APPCHECK_DEBUG_TOKEN
设置为调试令牌环境变量的值来启用调试模式。例如:Web version 9
self.FIREBASE_APPCHECK_DEBUG_TOKEN = process.env.APP_CHECK_DEBUG_TOKEN_FROM_CI; initializeAppCheck(app, { /* App Check options */ });
Web version 8
self.FIREBASE_APPCHECK_DEBUG_TOKEN = process.env.APP_CHECK_DEBUG_TOKEN_FROM_CI; firebase.appCheck().activate(/* site key or provider */);
当您的应用程序在 CI 环境中运行时,Firebase 后端服务将接受它发送的有效令牌。