在網頁應用程式中,搭配偵錯供應商使用 App Check

如果您在為應用程式註冊 App Check 後,想在 App Check 通常不會歸類為有效的環境中執行應用程式,例如在開發期間的本機或持續整合 (CI) 環境中,您可以建立應用程式的偵錯版本,使用 App Check 偵錯提供者,而非實際的認證提供者。

在 localhost 上使用偵錯提供器

如要在 localhost 中執行應用程式時 (例如在開發期間) 使用偵錯供應器,請執行下列操作:

  1. 在偵錯版本中,請先將 self.FIREBASE_APPCHECK_DEBUG_TOKEN 設為 true,再初始化 App Check,以便啟用偵錯模式。例如:

    Web

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

    Web

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
    firebase.appCheck().activate(/* site key or provider */);
    
  2. 在本機瀏覽您的網路應用程式,並開啟瀏覽器的開發人員工具。在偵錯主控台中,您會看到偵錯符記:

    AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678". You will
    need to safelist it in the Firebase console for it to work.
  3. Firebase 控制台的 App Check 部分,從應用程式的溢位選單中選擇「管理偵錯符記」。接著,請註冊您在上一個步驟中記錄的偵錯權杖。

    「Manage Debug Tokens」選單項目的螢幕截圖

註冊憑證後,Firebase 後端服務會將其視為有效憑證。

由於這組權杖可在沒有有效裝置的情況下存取 Firebase 資源,因此請務必保密。請勿將其提交至公開存放區,如果註冊的權杖遭到入侵,請立即在 Firebase 控制台中撤銷。

這個權杖會儲存在瀏覽器本機中,並在您在同一台電腦的相同瀏覽器中使用應用程式時使用。如果您想在其他瀏覽器或其他電腦上使用權杖,請將 self.FIREBASE_APPCHECK_DEBUG_TOKEN 設為權杖字串,而非 true

在持續整合環境中使用偵錯提供者

如要在持續整合 (CI) 環境中使用偵錯供應工具,請執行下列操作:

  1. Firebase 控制台的 App Check 部分,從應用程式的溢位選單中選擇「管理偵錯符記」。接著,請建立新的偵錯權杖。您將在下一個步驟中使用這組符記。

    由於這組權杖可讓使用者在沒有有效裝置的情況下存取 Firebase 資源,因此請務必妥善保管。請勿將其提交至公開存放區,如果註冊的權杖遭到入侵,請立即在 Firebase 控制台中撤銷。

    「Manage Debug Tokens」選單項目的螢幕截圖

  2. 將剛剛建立的偵錯權杖新增至 CI 系統的安全金鑰存放區 (例如 GitHub Actions 的加密祕密或 Travis CI 的加密變數)。

  3. 如有需要,請設定持續整合系統,讓偵錯符記碼可在持續整合環境中做為環境變數使用。為變數命名,例如 APP_CHECK_DEBUG_TOKEN_FROM_CI

  4. 在偵錯版本中,請先將 self.FIREBASE_APPCHECK_DEBUG_TOKEN 設為偵錯符記環境變數的值,再匯入 App Check,即可啟用偵錯模式。例如:

    Web

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

    Web

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = process.env.APP_CHECK_DEBUG_TOKEN_FROM_CI;
    firebase.appCheck().activate(/* site key or provider */);
    

當應用程式在 CI 環境中執行時,Firebase 後端服務會將其傳送的權杖視為有效。