Chỉ cho phép người dùng đã xác thực gửi yêu cầu

Bạn có thể thực thi chế độ người dùng đã xác thực cho dự án Firebase của mình. Khi được thực thi, tất cả các yêu cầu Gemini API thông qua Firebase AI Logic phải đến từ người dùng đã xác thực của ứng dụng. Cụ thể, người dùng cuối của ứng dụng phải được xác thực bằng cách sử dụng Firebase Authentication trước khi họ gửi yêu cầu đến Firebase AI Logic từ ứng dụng của bạn. Nếu người dùng cuối chưa được xác thực, yêu cầu sẽ bị chặn.

Khi một yêu cầu bị chặn, phản hồi sẽ là lỗi 401: unauthenticated.

Những điểm quan trọng cần lưu ý

Hãy lưu ý những điểm quan trọng sau đây cần cân nhắc đối với chế độ người dùng đã xác thực.

Khi chế độ người dùng đã xác thực được thực thi

Khi chế độ người dùng đã xác thực được thực thi, hãy lưu ý những điều sau:

  • Chế độ cài đặt này là chế độ cài đặt trên toàn dự án cho Firebase AI Logic.

    • Chế độ này áp dụng cho tất cả các ứng dụng đã đăng ký trong dự án.
    • Chế độ này chỉ áp dụng cho dự án nơi chế độ này được thực thi.
  • Chế độ cài đặt này chặn tất cả các yêu cầu thông qua Firebase AI Logickhông gửi thông tin xác thực Firebase Authentication.

    • Người dùng phải được xác thực thông qua Firebase Authentication trước khi gửi yêu cầu đến Firebase AI Logic.
    • Chế độ cài đặt này áp dụng cho tất cả các yêu cầu thông qua Firebase AI Logic đối với cả Gemini Developer APIVertex AI Gemini API.
    • Chế độ cài đặt này áp dụng cho tất cả các yêu cầu sử dụng mẫu lời nhắc trên máy chủ.
    • Bạn không thể áp dụng chế độ cài đặt này theo từng người dùng, từng API hoặc từng mẫu.
  • Chế độ cài đặt này không chặn Gemini API yêu cầu trong dự án của bạn mà không thông qua Firebase AI Logic.

  • Nếu bạn đang sử dụng chế độ kết hợp / trên thiết bị:

    • Chế độ cài đặt này chặn các yêu cầu đối với mô hình được lưu trữ trên đám mây nếu người dùng chưa được xác thực.
    • Chế độ cài đặt này không chặn các yêu cầu đối với mô hình trên thiết bị bất kể trạng thái xác thực của người dùng.
  • Nếu bạn đang sử dụng Gemini Live API:

    • Chế độ cài đặt này chặn việc sử dụng Gemini Live API cho ứng dụng web khi sử dụng Firebase AI Logic – ngay cả đối với người dùng đã xác thực. Điều này bao gồm các ứng dụng web sử dụng Firebase JS SDK hoặc ứng dụng web Flutter.
  • Nếu bạn đang sử dụng Firebase AI Logic API REST:

    • Chế độ cài đặt này chặn các yêu cầu suy luậnkhông gửi Firebase Authentication thông tin xác thực. Điều này bao gồm các yêu cầu đối với mẫu lời nhắc trên máy chủ như templateGenerateContent hoặc templateStreamGenerateContent.
    • Chế độ cài đặt này không chặn các yêu cầu mặt phẳng điều khiển (như các yêu cầu để quản lý mẫu và cấu hình) vì các yêu cầu này được bảo vệ bởi IAM.
  • Chế độ cài đặt này không chặn các yêu cầu đối với countTokens (Count Tokens API).

Trước khi thực thi chế độ người dùng đã xác thực

Hãy lưu ý những điều sau trước khi bạn thực thi chế độ người dùng đã xác thực:

  • Nếu bạn có các phiên bản hiện có của ứng dụng mà không sử dụng Firebase Authentication:

    • Chế độ cài đặt này sẽ chặn các yêu cầu thông qua Firebase AI Logic từ các phiên bản ứng dụng hiện có đó.
    • Đảm bảo rằng tất cả các ứng dụng khách đang hoạt động đã được cập nhật để sử dụng Firebase Authentication trước khi thực thi chế độ người dùng đã xác thực.
  • Các phiên bản trình bổ trợ Flutter cũ hơn yêu cầu khởi tạo đặc biệt để gửi Firebase Authentication thông tin xác thực cùng với các yêu cầu.

    • Nếu ứng dụng của bạn sử dụng trình bổ trợ Flutter firebase_ai phiên bản 3.11.0 trở xuống (BoM phiên bản 4.12.0 trở xuống) và không truyền Authentication trong quá trình khởi tạo, thì chế độ cài đặt này sẽ chặn các yêu cầu thông qua Firebase AI Logic – ngay cả đối với người dùng đã xác thực.
    • Đảm bảo rằng tất cả các ứng dụng khách đang hoạt động cho Flutter đã được cập nhật lên phiên bản mới hơn của trình bổ trợ trước khi thực thi chế độ người dùng đã xác thực.

Thiết lập Firebase Authentication

Tài liệu về Firebase Authentication cung cấp nội dung mô tả và hướng dẫn triển khai cho các nhà cung cấp dịch vụ xác thực được hỗ trợ, bao gồm cả việc sử dụng mật khẩu, số điện thoại, các nhà cung cấp danh tính liên kết phổ biến (như Google, Facebook và GitHub), v.v.

Sau khi bạn triển khai Firebase Authentication trong ứng dụng, ứng dụng sẽ tự động gửi thông tin xác thực Firebase Authentication cho người dùng đã xác thực trong mọi yêu cầu đến Firebase AI Logic.

Xin lưu ý những điều sau đây về một số nhà cung cấp dịch vụ xác thực:

  • Xác thực tuỳ chỉnh: Bạn cần tìm nạp mã xác thực đã ký để gửi cùng với yêu cầu đến Firebase AI Logic. Để biết thông tin chi tiết, hãy xem bài viết Xác thực tuỳ chỉnh.

  • Các phương thức xác thực Ẩn danh hoặc Email/Mật khẩu: Những người dùng này được coi là người dùng đã xác thực, vì vậy, các yêu cầu của họ đối với Firebase AI Logic sẽ không bị chặn.

    Xin lưu ý rằng mặc dù các phương thức xác thực ẩn danh và email/mật khẩu yêu cầu người dùng truy cập vào ứng dụng của bạn để tạo Firebase Authentication thông tin xác thực, đây không phải là các hình thức xác thực mạnh mẽ (đặc biệt là để bảo vệ tài nguyên trả phí) vì theo mặc định, các phương thức này không yêu cầu người dùng xác minh danh tính. Nếu ứng dụng của bạn sử dụng cách triển khai mặc định của các phương thức xác thực này, thì bạn sẽ không thể bảo vệ ứng dụng một cách hiệu quả ngay cả khi thực thi chế độ người dùng đã xác thực. Hãy đảm bảo rằng bạn cũng đã thực thi Firebase App Check.

Quản lý chế độ cài đặt người dùng đã xác thực

Bạn quản lý chế độ cài đặt cho chế độ người dùng đã xác thực trong bảng điều khiển Firebase.

Vai trò và quyền IAM cần có

Để quản lý chế độ cài đặt người dùng đã xác thực, bạn cần có quyền firebasevertexai.configs.update. Quyền này được đưa vào theo mặc định trong các vai trò IAM sau: Chủ sở hữu, Người chỉnh sửa, Quản trị viên Firebase và Quản trị viên Firebase AI Logic.

Thực thi chế độ người dùng đã xác thực

Sau đây là cách thực thi chế độ người dùng đã xác thực cho dự án Firebase của bạn:

  1. Nếu bạn chưa làm, hãy xem lại những điểm quan trọng cần lưu ý đối với chế độ người dùng đã xác thực ở phần trước trong hướng dẫn này.

  2. Nếu bạn chưa làm, hãy thiết lập Firebase Authentication trong ứng dụng của bạn (như mô tả ở phần trước trong hướng dẫn này).

  3. Thực thi chế độ người dùng đã xác thực:

    1. Trong bảng điều khiển Firebase, hãy chuyển đến Dịch vụ AI > AI Logic > thẻ Cài đặt.

    2. Trong phần Chế độ người dùng đã xác thực, hãy trượt nút bật/tắt cho Thực thi chế độ người dùng đã xác thực thành Đã thực thi.

    3. Xem lại hộp thoại xác nhận, sau đó nhấp vào Xác nhận.

Dừng thực thi chế độ người dùng đã xác thực

Nếu bạn dừng thực thi chế độ người dùng đã xác thực, hãy lưu ý những điều sau:

  • Các yêu cầu thông qua Firebase AI Logickhông gửi Firebase Authentication thông tin xác thực sẽ được cho phép.
  • Đây là chế độ cài đặt trên toàn dự án cho Firebase AI Logic.

Sau đây là cách dừng thực thi chế độ người dùng đã xác thực cho dự án Firebase của bạn:

  1. Trong bảng điều khiển Firebase, hãy chuyển đến Dịch vụ AI > AI Logic > thẻ Cài đặt.

  2. Trong phần Chế độ người dùng đã xác thực, hãy tắt Thực thi chế độ người dùng đã xác thực.

  3. Xem lại hộp thoại xác nhận, sau đó nhấp vào Xác nhận.