瞭解如何使用及管理 Firebase 的 API 金鑰

API 金鑰是一組專屬字串,用於將要求轉送至 Firebase 專案。本頁面說明 基本介紹 API 金鑰,以及使用和 使用 Firebase 應用程式管理 API 金鑰。

API 金鑰和 Firebase 的一般資訊

Firebase 的 API 金鑰與一般 API 金鑰不同

有別於 API 金鑰的一般使用方式,Firebase 服務的 API 金鑰會 「不會」用於控制後端資源的存取權;只能透過幾種方式完成 根據 Firebase 安全性規則,控管哪些使用者可以存取資源 Firebase App Check (用於控管哪些應用程式可存取資源)。

通常需要迅速保護 API 金鑰 (例如 使用保管箱服務,或將金鑰設為環境變數不過 Firebase 服務的 API 金鑰可加入程式碼或簽到設定 檔案。

雖然 Firebase 服務的 API 金鑰可以放心在程式碼中加入,不過, 詳閱並套用適當的限制和限制

建立 API 金鑰

Firebase 專案可以有多個 API 金鑰,但每個 API 金鑰只能 連結單一 Firebase 專案

Firebase 會自動為您的 Firebase 應用程式建立 API 金鑰

執行下列任一操作時,Firebase 會自動為您的專案建立 API 金鑰 包括:

  • 建立 Firebase 專案 >Browser key自動建立
  • 建立 Firebase Apple 應用程式 >iOS key自動建立
  • 建立 Firebase Android 應用程式 >Android key自動建立

您也可以在以下頁面建立自己的 API 金鑰: Google Cloud 控制台 例如用於開發或偵錯進一步瞭解 在後續頁面推薦這些內容的時機

查看 API 金鑰

您可以在以下頁面查看及管理所有專案的 API 金鑰: API 與服務 >憑證 開啟「資訊主頁」面板

您也可以查看哪些 API 金鑰會自動對應至 Firebase 應用程式。變更者: 根據預設,專案中所有 Firebase 應用程式的相同平台 (Apple 和 Android 和 Web) 會使用相同的 API 金鑰。

  • Firebase Apple 應用程式:在 Firebase 中尋找自動比對的 API 金鑰 設定檔 (GoogleService-Info.plist) API_KEY 欄位中。

  • Firebase Android 應用程式 — 在以下位置找出自動比對的 API 金鑰: Firebase 設定檔 google-services.json current_key 欄位中。

  • Firebase 網頁應用程式:在 Firebase 中尋找自動比對的 API 金鑰 config 物件。apiKey

使用 API 金鑰

API 金鑰會在與以下使用者互動時識別您的 Firebase 專案 Firebase/Google 服務。具體來說,這些 ID 可用來連結 API 要求 即可。也能輕鬆存取 公開資料。

例如,您可以將 API 金鑰的值傳遞至 REST 來明確使用 API 金鑰。 做為查詢參數本例說明如何提出要求 加入 Dynamic Links link Shorter API

POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=API_KEY

應用程式呼叫需要提供 API 金鑰的 Firebase API 時 透過行動裝置/網路用戶端,您的應用程式就會自動在 Firebase 設定檔/物件。不過,您可以 透過其他機制 (包括環境) 為您的應用程式提供 API 金鑰 變數。

查看 API 金鑰並套用適當的限制 (建議)

雖然您不必將 Firebase 服務的 API 金鑰視為 密鑰,您必須按照 專區。

查看自動加入許可清單的 API 金鑰許可清單

Firebase 在專案中建立 API 金鑰時,會自動新增 「API 限制」已加入這份許可清單的 API 是與 Firebase 相關的 API, 要求用戶端在呼叫中提供 API 金鑰。請注意,大部分 使用 Firebase 服務所需的 API 其實不一定要 API 金鑰的許可清單。

由於 Firebase 會加入「所有」Firebase 服務所需的 API,因此 API 金鑰的許可清單可能包含您未使用產品的 API。 您可以將 API 從許可清單中移除,但必須小心不要 移除 Firebase 和您使用的 Firebase 服務所需的 API (請參閱 Firebase 相關 API 清單 必須列入各項服務 / 產品的許可清單)。否則, 會在呼叫 Firebase 服務時收到錯誤訊息。

如果使用密碼驗證機制,則提高配額。

如果您使用密碼式 Firebase 驗證,但有人盜用您的 API 金鑰,對方將無法存取您的任何 Firebase 專案資料庫 或 Cloud Storage 資料 Firebase 安全性規則。不過,對方也可以使用您的 API 金鑰存取 Firebase 的驗證端點 。

為了避免有人濫用 API 金鑰 嘗試蠻力攻擊,即可將配額 identitytoolkit.googleapis.com 個端點會反映正常流量 使用者的期望請注意,如果您提高這項配額 使用者突然增加時,可能會遇到登入錯誤,直到您提高配額為止。 您可以在 Google Cloud 控制台

針對任何非 Firebase 服務使用個別受限制的 API 金鑰

雖然通常不需要將用於 Firebase 服務的 API 金鑰處理 視為秘密,您應該為自己使用的 API 金鑰採取一些額外預防措施 與其他 Google Cloud API 相互通訊

如果你在任何平台上使用非 Firebase 的 Google Cloud API 服務 / 產品,強烈建議建立個別的受限制 API 金鑰 與這些 API 搭配使用如果 API 適用於 可計費的 Google Cloud 服務

舉例來說,在 iOS 上使用 Firebase ML 和 Cloud Vision API 時, 應該建立單獨的 API 金鑰 可用於存取 Cloud Vision API

針對非 Firebase API 使用不同的受限制的 API 金鑰,就能輪替或 視需要更換金鑰,並在 API 中加入其他限制 金鑰 而且 Firebase 服務不會中斷

使用環境專屬 API 金鑰 (建議)

如果您為不同的環境 (例如 測試和正式環境,請務必確保每個應用程式執行個體 對應的 Firebase 專案舉例來說,測試環境應用程式執行個體 絕不會與正式環境 Firebase 專案通訊這也表示 測試環境應用程式需要使用與測試環境 Firebase 專案相關聯的 API 金鑰。

如何減少從開發、測試到測試中程式碼變更 您的 API 金鑰 (請將金鑰設為 環境變數

請注意,如果是在開發時使用 Firebase 本機模擬器套件 使用 Firebase ML,就必須建立及使用僅供偵錯的 API 金鑰。使用說明 建立該類金鑰的方法都位於 Firebase ML 文件

常見問題和疑難排解

常見問題

疑難排解