Ngăn chặn hành vi sử dụng sai trái Gemini API bằng Kiểm tra ứng dụng Firebase

Khi bạn gọi một API trực tiếp từ ứng dụng di động hoặc ứng dụng web, API đó dễ bị các ứng dụng khách trái phép lợi dụng. Nếu muốn gọi trực tiếp Gemini API từ ứng dụng di động hoặc ứng dụng web, bạn cần bảo vệ ứng dụng khỏi hành vi sai trái bằng cách sử dụng Firebase AI Logic và thực thi Firebase App Check. Khi bạn thực thi App Check, tính năng này sẽ chỉ cho phép các yêu cầu đến được xác minh là từ ứng dụng thực tế của bạn và/hoặc một thiết bị chưa bị can thiệp.

Chuyển đến hướng dẫn thiết lập

Firebase AI Logic cung cấp một cổng proxy cho phép bạn tích hợp với Firebase App Check và bảo vệ Gemini API khi ứng dụng di động và ứng dụng web của bạn gọi trực tiếp. Khi App Check được thực thi cho Firebase AI Logic, chính sách này giúp bảo vệ cả Gemini Developer API và Agent Platform Gemini API (formerly Vertex AI).

App Check cho Firebase AI Logic cũng hỗ trợ tính năng bảo vệ chống phát lại, tức là mã thông báo App Check chỉ có thể được sử dụng một lần.


Tóm tắt tổng quan về cách hoạt động của App Check

Với App Check, các thiết bị chạy ứng dụng của bạn sẽ sử dụng một nhà cung cấp dịch vụ chứng thực ứng dụng hoặc thiết bị để xác minh một hoặc cả hai điều sau:

  • Yêu cầu bắt nguồn từ ứng dụng chính hãng của bạn
  • Yêu cầu bắt nguồn từ một thiết bị chính hãng, chưa bị can thiệp

Chứng thực này được đính kèm vào mọi yêu cầu mà ứng dụng của bạn đưa ra bằng cách sử dụng Firebase AI Logic SDK. Khi App Check được thực thi, các yêu cầu từ ứng dụng không có chứng thực hợp lệ sẽ bị từ chối, cũng như mọi yêu cầu bắt nguồn từ một ứng dụng hoặc nền tảng mà bạn chưa cho phép.

Khi thiết lập App Check, hãy cân nhắc thêm biện pháp bảo vệ chống phát lại để mã thông báo App Check chỉ dùng được một lần. Lựa chọn này cung cấp khả năng bảo vệ nâng cao ngoài khả năng bảo vệ cơ bản, đồng thời cho phép bạn đặt mức độ bảo vệ phù hợp cho ứng dụng và các trường hợp sử dụng.

Bạn có thể tìm thấy thông tin chi tiết về App Check trong tài liệu của API này, bao gồm cả nội dung mô tả về nhà cung cấp dịch vụ chứng thực cũng như mọi hạn mức và giới hạn hiện hành.

Thiết lập App Check

Hướng dẫn sau đây được tối ưu hoá để thiết lập Firebase App Check thực thi cho Firebase AI Logic.

Bước 1: Thực thi App Check

Kể từ đầu tháng 7 năm 2026, trong quy trình thiết lập có hướng dẫn trong bảng điều khiển Firebase, Firebase sẽ tự động thực thi Firebase App Check cho Firebase AI Logic để giúp bảo vệ Gemini API.

Tuy nhiên, nếu bạn đã thiết lập Firebase AI Logic trong dự án Firebase trước đầu tháng 7 năm 2026 (hoặc App Check không được thực thi vì một số lý do khác), thì bạn có thể tự thực thi App Check theo hướng dẫn sau.

  1. Kiểm tra xem App Check đã được thực thi cho Firebase AI Logic hay chưa.

    1. Trong bảng điều khiển Firebase, hãy chuyển đến thẻ Security (Bảo mật) > App Check (Kiểm tra ứng dụng) > APIs (API).

    2. Tìm hàng cho Firebase AI Logic. Nếu bạn thấy Unenforced, hãy tiếp tục làm theo các hướng dẫn còn lại.

  2. Nhấp vào hàng chứa Firebase AI Logic để xem biểu đồ chỉ số. Bên dưới các biểu đồ đó, hãy nhấp vào Thiết lập.

  3. Trong màn hình đầu tiên của hộp thoại (Bảo vệ cơ bản), hãy chọn Bắt buộc, rồi nhấp vào Tiếp tục.

  4. Trong màn hình tiếp theo (Replay protection (Bảo vệ chống phát lại)), hãy chọn Disabled (Đã tắt), rồi nhấp vào Continue (Tiếp tục).

  5. Trên màn hình cuối cùng, hãy xem xét các điểm cần cân nhắc khi thực thi App Check để đảm bảo rằng bạn đã sẵn sàng thực thi App Check. Nếu bạn đã sẵn sàng, hãy nhấp vào Tiếp tục.

    Bạn không cần đăng ký ứng dụng nếu chỉ muốn thực thi App Check và chỉ sử dụng nhà cung cấp dịch vụ gỡ lỗi với Firebase AI Logic trong một ứng dụng trước khi phát hành công khai. Tuy nhiên, khi đã sẵn sàng phát hành ứng dụng cho người dùng cuối, bạn cần đăng ký ứng dụng trong quá trình thiết lập một nhà cung cấp dịch vụ chứng thực phát hành công khai (như App Attest, Play Integrity hoặc reCAPTCHA Enterprise).

Bước 2: Thiết lập nhà cung cấp dịch vụ gỡ lỗi cho quá trình phát triển tại máy cục bộ

Để phát triển cục bộ, bạn có thể thiết lập nhà cung cấp dịch vụ gỡ lỗi App Check và vẫn duy trì việc thực thi App Check cho Firebase AI Logic.

Swift

Sau đây là cách sử dụng nhà cung cấp dịch vụ gỡ lỗi trong khi chạy ứng dụng trong trình mô phỏng theo cách tương tác (ví dụ: trong quá trình phát triển cục bộ):

  1. Trong dự án Xcode, hãy nhập FirebaseAppCheck và khởi chạy App Check bằng nhà máy của nhà cung cấp dịch vụ gỡ lỗi trước khi bạn định cấu hình Firebase.

    import SwiftUI
    import FirebaseCore
    import FirebaseAppCheck
    
    @main
    struct YourApp: App {
      init() {
        let providerFactory = AppCheckDebugProviderFactory()
        AppCheck.setAppCheckProviderFactory(providerFactory)
        FirebaseApp.configure()
      }
    
      var body: some Scene {
        WindowGroup {
          NavigationView {
            ContentView()
          }
        }
      }
    }
    
  2. Lấy mã thông báo gỡ lỗi:

    1. Chạy ứng dụng trong trình mô phỏng hoặc trên thiết bị thử nghiệm.

    2. Mở bảng điều khiển Xcode và tìm mã gỡ lỗi App Check. Ví dụ:

      <Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.
      
    3. Sao chép mã thông báo (ví dụ: 123a4567-b89c-12d3-e456-789012345678).

  3. Đăng ký mã thông báo gỡ lỗi của bạn với App Check:

    1. Trong bảng điều khiển Firebase, hãy chuyển đến thẻ Security (Bảo mật) > App Check (Kiểm tra ứng dụng) > Apps (Ứng dụng).

    2. Tìm ứng dụng của bạn, nhấp vào trình đơn mục bổ sung (), rồi chọn Manage debug tokens (Quản lý mã thông báo gỡ lỗi).

    3. Làm theo hướng dẫn trên màn hình để đăng ký mã thông báo gỡ lỗi.

Để biết thông tin chi tiết về nhà cung cấp dịch vụ gỡ lỗi (bao gồm cả cách lấy mã gỡ lỗi mới), hãy xem tài liệu chính thức về App Check.

Kotlin

Sau đây là cách sử dụng nhà cung cấp dịch vụ gỡ lỗi trong khi chạy ứng dụng trong trình mô phỏng theo cách tương tác (ví dụ: trong quá trình phát triển cục bộ):

  1. Trong bản gỡ lỗi, hãy định cấu hình App Check để sử dụng nhà máy của nhà cung cấp dịch vụ gỡ lỗi:

    Firebase.initialize(context = this)
    Firebase.appCheck.installAppCheckProviderFactory(
        DebugAppCheckProviderFactory.getInstance(),
    )
  2. Lấy mã thông báo gỡ lỗi:

    1. Chạy ứng dụng trong trình mô phỏng hoặc trên thiết bị thử nghiệm.

    2. Tìm mã thông báo gỡ lỗi App Check trong nhật ký. Ví dụ:

      D DebugAppCheckProvider: Enter this debug secret into the allow list
      in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
      
    3. Sao chép mã thông báo (ví dụ: 123a4567-b89c-12d3-e456-789012345678).

  3. Đăng ký mã thông báo gỡ lỗi của bạn với App Check:

    1. Trong bảng điều khiển Firebase, hãy chuyển đến thẻ Security (Bảo mật) > App Check (Kiểm tra ứng dụng) > Apps (Ứng dụng).

    2. Tìm ứng dụng của bạn, nhấp vào trình đơn mục bổ sung (), rồi chọn Manage debug tokens (Quản lý mã thông báo gỡ lỗi).

    3. Làm theo hướng dẫn trên màn hình để đăng ký mã thông báo gỡ lỗi.

Để biết thông tin chi tiết về nhà cung cấp dịch vụ gỡ lỗi (bao gồm cả cách lấy mã gỡ lỗi mới), hãy xem tài liệu chính thức về App Check.

Java

Sau đây là cách sử dụng nhà cung cấp dịch vụ gỡ lỗi trong khi chạy ứng dụng trong trình mô phỏng theo cách tương tác (ví dụ: trong quá trình phát triển cục bộ):

  1. Trong bản gỡ lỗi, hãy định cấu hình App Check để sử dụng nhà máy của nhà cung cấp dịch vụ gỡ lỗi:

    FirebaseApp.initializeApp(/*context=*/ this);
    FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
    firebaseAppCheck.installAppCheckProviderFactory(
            DebugAppCheckProviderFactory.getInstance());
  2. Lấy mã thông báo gỡ lỗi:

    1. Chạy ứng dụng trong trình mô phỏng hoặc trên thiết bị thử nghiệm.

    2. Tìm mã thông báo gỡ lỗi App Check trong nhật ký. Ví dụ:

      D DebugAppCheckProvider: Enter this debug secret into the allow list
      in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
      
    3. Sao chép mã thông báo (ví dụ: 123a4567-b89c-12d3-e456-789012345678).

  3. Đăng ký mã thông báo gỡ lỗi của bạn với App Check:

    1. Trong bảng điều khiển Firebase, hãy chuyển đến thẻ Security (Bảo mật) > App Check (Kiểm tra ứng dụng) > Apps (Ứng dụng).

    2. Tìm ứng dụng của bạn, nhấp vào trình đơn mục bổ sung (), rồi chọn Manage debug tokens (Quản lý mã thông báo gỡ lỗi).

    3. Làm theo hướng dẫn trên màn hình để đăng ký mã thông báo gỡ lỗi.

Để biết thông tin chi tiết về nhà cung cấp dịch vụ gỡ lỗi (bao gồm cả cách lấy mã gỡ lỗi mới), hãy xem tài liệu chính thức về App Check.

Web

Dưới đây là cách sử dụng nhà cung cấp dịch vụ gỡ lỗi trong khi chạy ứng dụng từ localhost theo cách tương tác (ví dụ: trong quá trình phát triển cục bộ):

  1. Trong bản gỡ lỗi, hãy bật chế độ gỡ lỗi bằng cách đặt self.FIREBASE_APPCHECK_DEBUG_TOKEN thành true trước khi khởi chạy App Check. Ví dụ:

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
    initializeAppCheck(app, { /* App Check options */ });
    
  2. Truy cập vào ứng dụng web của bạn trên máy và mở công cụ cho nhà phát triển của trình duyệt. Trong bảng điều khiển gỡ lỗi, bạn sẽ thấy một mã gỡ lỗi:

    AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678".
    You will need to safelist it in the Firebase console for it to work.
    
  3. Đăng ký mã thông báo gỡ lỗi của bạn với App Check:

    1. Trong bảng điều khiển Firebase, hãy chuyển đến thẻ Security (Bảo mật) > App Check (Kiểm tra ứng dụng) > Apps (Ứng dụng).

    2. Tìm ứng dụng của bạn, nhấp vào trình đơn mục bổ sung (), rồi chọn Manage debug tokens (Quản lý mã thông báo gỡ lỗi).

    3. Làm theo hướng dẫn trên màn hình để đăng ký mã thông báo gỡ lỗi.

Để biết thông tin chi tiết về nhà cung cấp dịch vụ gỡ lỗi (bao gồm cả cách lấy mã gỡ lỗi mới), hãy xem tài liệu chính thức về App Check.

Dart

iOS+

Sau đây là cách sử dụng nhà cung cấp dịch vụ gỡ lỗi trong khi chạy ứng dụng trong trình mô phỏng theo cách tương tác (ví dụ: trong quá trình phát triển cục bộ):

  1. Kích hoạt App Check bằng nhà cung cấp dịch vụ gỡ lỗi ngay sau khi bạn khởi chạy ứng dụng Firebase:

    import 'package:flutter/material.dart';
    import 'package:firebase_core/firebase_core.dart';
    
    // Import the firebase_app_check plugin
    import 'package:firebase_app_check/firebase_app_check.dart';
    
    Future<void> main() async {
      WidgetsFlutterBinding.ensureInitialized();
      await Firebase.initializeApp();
      await FirebaseAppCheck.instance.activate(
        // Set appleProvider to `AppleProvider.debug`
        appleProvider: AppleProvider.debug,
      );
      runApp(App());
    }
    
  2. Bật tính năng ghi nhật ký gỡ lỗi trong dự án Xcode:

    1. Mở Product > Scheme > Edit scheme (Sản phẩm > Lược đồ > Chỉnh sửa lược đồ).
    2. Chọn Run (Chạy) trong trình đơn bên trái, rồi chọn thẻ Arguments (Đối số).
    3. Trong mục Arguments Passed on Launch (Đối số được chuyển khi mở), hãy thêm -FIRDebugEnabled.
  3. Lấy mã thông báo gỡ lỗi:

    1. Mở ios/Runner.xcworkspace bằng Xcode rồi chạy ứng dụng trong trình mô phỏng hoặc trên thiết bị thử nghiệm.

    2. Mở bảng điều khiển Xcode và tìm mã gỡ lỗi App Check. Ví dụ:

      <Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.
      
    3. Sao chép mã thông báo (ví dụ: 123a4567-b89c-12d3-e456-789012345678).

  4. Đăng ký mã thông báo gỡ lỗi của bạn với App Check:

    1. Trong bảng điều khiển Firebase, hãy chuyển đến thẻ Security (Bảo mật) > App Check (Kiểm tra ứng dụng) > Apps (Ứng dụng).

    2. Tìm ứng dụng của bạn, nhấp vào trình đơn mục bổ sung (), rồi chọn Manage debug tokens (Quản lý mã thông báo gỡ lỗi).

    3. Làm theo hướng dẫn trên màn hình để đăng ký mã thông báo gỡ lỗi.

Android

Sau đây là cách sử dụng nhà cung cấp dịch vụ gỡ lỗi trong khi chạy ứng dụng trong trình mô phỏng theo cách tương tác (ví dụ: trong quá trình phát triển cục bộ):

  1. Kích hoạt App Check bằng nhà cung cấp dịch vụ gỡ lỗi ngay sau khi bạn khởi chạy ứng dụng Firebase:

    import 'package:flutter/material.dart';
    import 'package:firebase_core/firebase_core.dart';
    
    // Import the firebase_app_check plugin
    import 'package:firebase_app_check/firebase_app_check.dart';
    
    Future<void> main() async {
      WidgetsFlutterBinding.ensureInitialized();
      await Firebase.initializeApp();
      await FirebaseAppCheck.instance.activate(
        // Set androidProvider to `AndroidProvider.debug`
        androidProvider: AndroidProvider.debug,
      );
      runApp(App());
    }
    
  2. Lấy mã thông báo gỡ lỗi:

    1. Chạy ứng dụng trong trình mô phỏng hoặc trên thiết bị thử nghiệm.

    2. Tìm mã thông báo gỡ lỗi App Check trong nhật ký. Ví dụ:

      D DebugAppCheckProvider: Enter this debug secret into the allow list
      in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
      
    3. Sao chép mã thông báo (ví dụ: 123a4567-b89c-12d3-e456-789012345678).

  3. Đăng ký mã thông báo gỡ lỗi của bạn với App Check:

    1. Trong bảng điều khiển Firebase, hãy chuyển đến thẻ Security (Bảo mật) > App Check (Kiểm tra ứng dụng) > Apps (Ứng dụng).

    2. Tìm ứng dụng của bạn, nhấp vào trình đơn mục bổ sung (), rồi chọn Manage debug tokens (Quản lý mã thông báo gỡ lỗi).

    3. Làm theo hướng dẫn trên màn hình để đăng ký mã thông báo gỡ lỗi.

Web

Sau đây là cách sử dụng nhà cung cấp dịch vụ gỡ lỗi trong khi chạy ứng dụng từ localhost theo cách tương tác (ví dụ: trong quá trình phát triển cục bộ):

  1. Trong tệp web/index.html, hãy bật chế độ gỡ lỗi bằng cách đặt self.FIREBASE_APPCHECK_DEBUG_TOKEN thành true:

    <body>
      <script>
        self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
      </script>
    
      ...
    
    </body>
    
  2. Chạy ứng dụng web trên máy và mở công cụ cho nhà phát triển của trình duyệt. Trong bảng điều khiển gỡ lỗi, bạn sẽ thấy một mã thông báo gỡ lỗi:

    AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678".
    You will need to safelist it in the Firebase console for it to work.
    

    Mã thông báo này được lưu trữ cục bộ trong trình duyệt của bạn và sẽ được dùng bất cứ khi nào bạn sử dụng ứng dụng trong cùng một trình duyệt trên cùng một máy. Nếu bạn muốn sử dụng mã thông báo trong một trình duyệt khác hoặc trên một máy khác, hãy đặt self.FIREBASE_APPCHECK_DEBUG_TOKEN thành chuỗi mã thông báo thay vì true.

  3. Đăng ký mã thông báo gỡ lỗi của bạn với App Check:

    1. Trong bảng điều khiển Firebase, hãy chuyển đến thẻ Security (Bảo mật) > App Check (Kiểm tra ứng dụng) > Apps (Ứng dụng).

    2. Tìm ứng dụng của bạn, nhấp vào trình đơn mục bổ sung (), rồi chọn Manage debug tokens (Quản lý mã thông báo gỡ lỗi).

    3. Làm theo hướng dẫn trên màn hình để đăng ký mã thông báo gỡ lỗi.

Để biết thông tin chi tiết về nhà cung cấp dịch vụ gỡ lỗi (bao gồm cả cách lấy mã gỡ lỗi mới), hãy xem tài liệu chính thức về App Check.

Unity

Sau đây là cách sử dụng nhà cung cấp dịch vụ gỡ lỗi trong khi chạy ứng dụng trong trình mô phỏng theo cách tương tác (ví dụ: trong quá trình phát triển cục bộ):

  1. Trong bảng điều khiển Firebase, hãy tạo mã thông báo gỡ lỗi:

    1. Trong bảng điều khiển Firebase, hãy chuyển đến thẻ Security (Bảo mật) > App Check (Kiểm tra ứng dụng) > Apps (Ứng dụng).

    2. Tìm ứng dụng của bạn, nhấp vào trình đơn mục bổ sung (), rồi chọn Manage debug tokens (Quản lý mã thông báo gỡ lỗi).

    3. Làm theo hướng dẫn trên màn hình để tạo mã thông báo gỡ lỗi mới.

  2. Trong mã khởi chạy của ứng dụng, hãy thêm đoạn mã sau:

    using Firebase.AppCheck;
    
    void InitializeFirebase() {
      // Configure the Debug Provider factory with your debug token.
      DebugAppCheckProviderFactory.Instance.SetDebugToken("YOUR_DEBUG_TOKEN");
    
      // Set App Check to use the debug provider factory
      FirebaseAppCheck.SetAppCheckProviderFactory(
        DebugAppCheckProviderFactory.Instance);
    
      // Proceed to initialize Firebase as normal
    }
    

Để biết thông tin chi tiết về nhà cung cấp dịch vụ gỡ lỗi (bao gồm cả cách lấy mã gỡ lỗi mới), hãy xem tài liệu chính thức về App Check.

Bước 3: Thiết lập App Check cho người dùng cuối và môi trường thực tế

Khi đã sẵn sàng phát hành ứng dụng cho người dùng cuối, bạn cần đăng ký ứng dụng và thiết lập một nhà cung cấp dịch vụ chứng thực chính thức (chẳng hạn như App Attest, Play Integrity hoặc reCAPTCHA Enterprise).

  1. Chọn một nhà cung cấp dịch vụ chứng thực chính thức và làm theo hướng dẫn triển khai tại các đường liên kết sau:

    Xin lưu ý rằng nếu không có nhà cung cấp dịch vụ chứng thực nào trong số này đáp ứng được nhu cầu của bạn, thì bạn có thể triển khai một nhà cung cấp tuỳ chỉnh sử dụng nhà cung cấp dịch vụ chứng thực bên thứ ba hoặc kỹ thuật chứng thực của riêng bạn.

  2. (Nên dùng) Tăng cường bảo vệ bằng cách thêm biện pháp bảo vệ chống phát lại, tức là mã thông báo App Check chỉ có thể được sử dụng một lần.

Tăng cường bảo vệ bằng cách thêm tính năng bảo vệ chống tấn công phát lại

Bạn nên sử dụng các phiên bản SDK mới nhất, nhưng hãy đảm bảo bạn đang sử dụng ít nhất một trong các phiên bản sau để dùng tính năng bảo vệ chống phát lại:
Nền tảng của Apple phiên bản 12.2.0 trở lên | Android BoM phiên bản 34.14.0 trở lên (App Check phiên bản 19.1.0 trở lên) | Web phiên bản 12.14.0 trở lên | Flutter phiên bản 4.15.0 trở lên (App Check phiên bản 4.10.0 trở lên) | Unity phiên bản 13.12.0 trở lên

Theo mặc định, App Check sử dụng mã thông báo phiên có thời gian tồn tại (TTL) có thể định cấu hình từ 30 phút đến 7 ngày. Các mã phiên này được SDK App Check lưu vào bộ nhớ đệm, được gửi cùng với các yêu cầu từ ứng dụng của bạn và có thể được sử dụng lại cho đến khi hết TTL. Việc sử dụng mã thông báo phiên được coi là biện pháp bảo vệ cơ bản.

Tuy nhiên, bạn có thể tăng cường khả năng bảo vệ ngoài mức cơ bản này bằng cách thực thi biện pháp bảo vệ chống tấn công lặp lại, sử dụng mã thông báo có giới hạn sử dụng. Khi biện pháp bảo vệ chống phát lại được thực thi, những điều sau sẽ xảy ra:

  • App Check sẽ chặn các yêu cầu đến Firebase AI Logic sử dụng mã phiên. Thay vào đó, App Check sẽ chỉ cho phép yêu cầu đến Firebase AI Logic nếu yêu cầu đó sử dụng mã thông báo có giới hạn sử dụng mới được tạo.

  • Sau khi được xác minh, mã thông báo có giới hạn sử dụng sẽ được sử dụng để chỉ có thể dùng một lần, giúp ngăn chặn các cuộc tấn công phát lại.

  • SDK App Check tạo một mã thông báo có giới hạn sử dụng mới cho mỗi yêu cầu. Xin lưu ý rằng quy trình này có thể ảnh hưởng đến các yêu cầu của bạn bằng cách thêm một số độ trễ và đôi khi là chi phí (tuỳ thuộc vào nhà cung cấp dịch vụ chứng thực của bạn).

Thiết lập và thực thi biện pháp bảo vệ chống phát lại

Nhấp vào nhà cung cấp Gemini API của bạn để xem nội dung và mã dành riêng cho nhà cung cấp trên trang này.

Sau đây là cách thiết lập và thực thi biện pháp bảo vệ chống phát lại:

  1. Nếu bạn chưa làm, hãy thiết lập App Check bằng cách làm theo hướng dẫn ở phần trước của trang này.

  2. Cho phép sử dụng mã thông báo có giới hạn sử dụng.

    Trong ứng dụng của bạn, trong quá trình tạo thực thể, hãy đặt tham số useLimitedUseAppCheckTokens thành true:

    Swift

    
    // ...
    
    // During instantiation, enable usage of limited-use tokens.
    let ai = FirebaseAI.firebaseAI(
      backend: .googleAI(),
      useLimitedUseAppCheckTokens: true
    )
    
    // ...
    
    

    Kotlin

    
    // ...
    
    // During instantiation, enable usage of limited-use tokens.
    val ai = Firebase.ai(
      backend = GenerativeBackend.googleAI(),
      useLimitedUseAppCheckTokens = true
    )
    
    // ...
    
    

    Java

    
    // ...
    
    // During instantiation, enable usage of limited-use tokens.
    FirebaseAI ai = FirebaseAI.getInstance(
      /* backend: */ GenerativeBackend.googleAI(),
      /* useLimitedUseAppCheckTokens: */ true
    );
    
    // ...
    
    

    Web

    
    // ...
    
    // During instantiation, enable usage of limited-use tokens.
    const ai = getAI(firebaseApp, {
      backend: new GoogleAIBackend(),
      useLimitedUseAppCheckTokens: true
    });
    
    // ...
    
    

    Dart

    
    // ...
    
    // During instantiation, enable usage of limited-use tokens
    final ai = await FirebaseAI.googleAI(
      useLimitedUseAppCheckTokens: true,
    );
    
    // ...
    
    

    Unity

    // ...
    
    // During instantiation, enable usage of limited-use tokens
    var ai = FirebaseAI.GetInstance(
      useLimitedUseAppCheckTokens: true
    );
    
    // ...
    
  3. Thực thi biện pháp bảo vệ chống phát lại.

    1. Trong toàn bộ mã nguồn của ứng dụng, hãy đảm bảo rằng bạn đã bật tính năng sử dụng mã thông báo có giới hạn sử dụng (xem bước trước).

    2. Trong bảng điều khiển Firebase, hãy chuyển đến phần Security (Bảo mật) > App Check (Kiểm tra ứng dụng).

    3. Mở rộng chế độ xem chỉ số cho Firebase AI Logic.

    4. Đảm bảo Biện pháp bảo vệ cơ bản ở trạng thái Đã thực thi, rồi nhấp vào Tiếp tục.

    5. Để bảo vệ chống tấn công lặp lại, hãy chọn Không thực thi (chỉ giám sát) hoặc Thực thi.

      Hãy cân nhắc những điều sau để quyết định thời điểm thực thi biện pháp bảo vệ chống phát lại:

      • Bạn nên theo dõi các yêu cầu nếu có khả năng là một số lượng lớn người dùng đang sử dụng các phiên bản cũ của ứng dụng mà không bật tính năng sử dụng mã thông báo có giới hạn sử dụng. Nếu bạn thực thi biện pháp bảo vệ chống phát lại ngay lập tức, thì các yêu cầu của những người dùng đó sẽ bị chặn.

      • Cụ thể, bạn có thể theo dõi chỉ số Chưa xác minh: Mã thông báo được sử dụng lại, tức là số lượng yêu cầu có mã thông báo đã được sử dụng trong một yêu cầu trước đó. Theo dõi chỉ số này trong bảng điều khiển Firebase (chuyển đến thẻ Bảo mật > Kiểm tra ứng dụng > API).

        Nếu một phần đáng kể các yêu cầu gần đây thuộc danh mục này, bạn có thể tránh làm gián đoạn người dùng và cân nhắc việc chờ thực thi biện pháp bảo vệ chống tấn công lặp lại cho đến khi có thêm người dùng cập nhật lên phiên bản ứng dụng sử dụng mã thông báo có giới hạn sử dụng.

Tìm hiểu cách Firebase AI Logic tích hợp với App Check

Để sử dụng SDK Firebase AI Logic, bạn phải bật API Firebase AI Logic (firebasevertexai.googleapis.com) trong dự án Firebase của mình. Điều này là do các yêu cầu do SDK Firebase AI Logic đưa ra trước tiên được gửi đến máy chủ Firebase AI Logic. Máy chủ này đóng vai trò là cổng proxy nơi quá trình xác minh Firebase App Check diễn ra trước khi yêu cầu được phép tiếp tục đến Gemini API và truy cập vào các mô hình Gemini.

Câu hỏi thường gặp và cách khắc phục sự cố

Tìm thêm Câu hỏi thường gặp và cách khắc phục sự cố hoặc mã lỗi liên quan đến Firebase AI Logic.