直接從行動或網頁應用程式呼叫 API 時 (例如允許存取生成式 AI 模型的 API),API 容易遭到未經授權的用戶端濫用。為保護這些 API,您可以透過 Firebase App Check 驗證所有傳入的 API 呼叫是否來自實際應用程式。
Firebase AI Logic 提供 Proxy 閘道,可讓您整合 Firebase App Check,並保護行動應用程式和網頁應用程式呼叫的生成式 AI 模型 API。使用 Firebase AI Logic SDK 時,Gemini Developer API 和 Vertex AI Gemini API 都支援與 App Check 整合。您可以保護 Gemini 和 Imagen 模型。
App Check 的運作方式概要
使用 App Check 時,執行您應用程式的裝置會使用應用程式或裝置認證供應商,驗證下列一或多項內容:
- 要求來自正版應用程式
- 要求來自未經竄改的裝置
這項認證會附加至應用程式使用 Firebase AI Logic SDK 發出的每項要求。啟用App Check強制執行後,系統會拒絕來自沒有有效認證的用戶端要求,以及來自您未授權應用程式或平台的要求。
如需詳細資訊,請參閱Firebase App Check說明文件。
可用的供應商和實作說明
App Check 內建支援將下列服務做為認證供應商。按一下供應商的連結,即可查看該供應商的App Check文件,包括說明和實作說明。
- Apple 平台:DeviceCheck 或 App Attest
- Android:Play Integrity
- 網站:reCAPTCHA Enterprise
如果這些供應商無法滿足您的需求,您也可以實作自己的服務,使用第三方認證供應商或自己的認證技術 (詳情請參閱 App Check 說明文件)。
Flutter 必須進行特殊例項化
按一下 Gemini API 供應商,即可在這個頁面查看供應商專屬內容和程式碼。 |
在 Flutter 應用程式中使用 App Check 和 Firebase AI Logic 時,您需要在例項化期間明確傳入 App Check,如下所示:
final ai = await FirebaseAI.googleAI(appCheck: FirebaseAppCheck.instance)
.generativeModel(model: 'MODEL_NAME');
有關「App Check」的其他資訊
瞭解 App Check 的配額與限制。
請務必先啟用強制執行 App Check,再向實際使用者發布應用程式。
瞭解 Firebase AI Logic 如何與 App Check 整合
如要使用 Firebase AI Logic SDK,必須在 Firebase 專案中啟用 Firebase AI Logic API (firebasevertexai.googleapis.com
)。這是因為 Firebase AI Logic SDK 發出的要求會先傳送至 Firebase AI Logic 伺服器,該伺服器會做為 Proxy 閘道,在要求獲准繼續前往所選「Gemini API」供應商的後端和 API,以存取 Gemini 和 Imagen 模型「之前」進行 Firebase App Check 驗證。