Khai báo quyền

Để sử dụng hầu hết API tiện ích và các tính năng, bạn phải khai báo ý định của tiện ích trong các trường quyền của tệp kê khai. Tiện ích có thể yêu cầu các danh mục quyền sau đây, được chỉ định bằng các khoá tệp kê khai tương ứng:

"permissions"
Chứa các mục trong danh sách các chuỗi đã biết. Các thay đổi có thể kích hoạt cảnh báo.
"optional_permissions"
Do người dùng cấp tại thời gian chạy, thay vì tại thời điểm cài đặt.
"content_scripts.matches"
Chứa một hoặc nhiều mẫu khớp cho phép tập lệnh nội dung chèn vào một hoặc nhiều máy chủ lưu trữ. Các thay đổi có thể kích hoạt cảnh báo.
"host_permissions"
Chứa một hoặc nhiều mẫu khớp cấp quyền truy cập vào một hoặc nhiều máy chủ. Các thay đổi có thể kích hoạt cảnh báo.
"optional_host_permissions"
Do người dùng cấp tại thời gian chạy, thay vì tại thời điểm cài đặt.

Quyền giúp hạn chế thiệt hại nếu tiện ích của bạn bị phần mềm độc hại xâm nhập. Một số cảnh báo về quyền sẽ xuất hiện để người dùng đồng ý trước khi cài đặt hoặc khi bắt đầu chạy, như được trình bày chi tiết trong phần Quyền có cảnh báo.

Hãy cân nhắc sử dụng các quyền không bắt buộc bất cứ khi nào chức năng của tiện ích cho phép, để cung cấp cho người dùng quyền kiểm soát có hiểu biết đối với quyền truy cập vào tài nguyên và dữ liệu.

Nếu một API yêu cầu một quyền, thì tài liệu của API đó sẽ giải thích cách khai báo quyền. Để biết ví dụ, hãy xem Storage API.

Tệp kê khai

Sau đây là ví dụ về phần quyền của tệp manifest:

manifest.json:

{
  "name": "Permissions Extension",
  ...
  "permissions": [
    "activeTab",
    "contextMenus",
    "storage"
  ],
  "optional_permissions": [
    "topSites",
  ],
  "host_permissions": [
    "https://www.developer.chrome.com/*"
  ],
  "optional_host_permissions":[
    "https://*/*",
    "http://*/*"
  ],
  ...
  "manifest_version": 3
}

Quyền từ phía máy chủ

Quyền truy cập vào máy chủ lưu trữ cho phép tiện ích tương tác với mẫu so khớp của URL. Một số API Chrome yêu cầu quyền truy cập vào máy chủ lưu trữ ngoài các quyền API riêng của chúng. Các quyền này được ghi lại trên từng trang tham chiếu. Dưới đây là một số ví dụ:

Quyền truy cập có cảnh báo

Khi một tiện ích yêu cầu nhiều quyền và nhiều quyền trong số đó hiển thị cảnh báo khi cài đặt, người dùng sẽ thấy một danh sách cảnh báo, chẳng hạn như trong ví dụ sau:

Cảnh báo về quyền của tiện ích khi cài đặt

Người dùng có nhiều khả năng tin tưởng một tiện ích có ít cảnh báo hoặc khi họ được giải thích về các quyền. Hãy cân nhắc việc triển khai các quyền không bắt buộc hoặc một API ít mạnh mẽ hơn để tránh các cảnh báo đáng lo ngại. Để biết các phương pháp hay nhất về cảnh báo, hãy xem Nguyên tắc về cảnh báo cấp quyền. Các cảnh báo cụ thể được liệt kê cùng với các quyền mà chúng áp dụng trong danh sách tham chiếu Quyền.

Việc thêm hoặc thay đổi mẫu so khớp trong các trường "host_permissions""content_scripts.matches" của tệp kê khai cũng sẽ kích hoạt một cảnh báo. Để tìm hiểu thêm, hãy xem phần Cập nhật quyền.

Cho phép truy cập

Nếu tiện ích của bạn cần chạy trên các URL file:// hoặc hoạt động ở chế độ ẩn danh, thì người dùng phải cấp quyền truy cập cho tiện ích trên trang thông tin chi tiết của tiện ích. Bạn có thể xem hướng dẫn về cách mở trang thông tin chi tiết trong phần Quản lý phần mở rộng.

Cho phép truy cập vào các URL của tệp và trang ở chế độ ẩn danh

  1. Nhấp chuột phải vào biểu tượng tiện ích trong Chrome.
  2. Chọn Quản lý tiện ích.

    Trình đơn theo bối cảnh của tiện ích
    Trình đơn tiện ích
  3. Di chuyển xuống để cho phép truy cập vào các URL của tệp hoặc chế độ ẩn danh.

    Cho phép URL của tệp và chế độ ẩn danh trên trang chi tiết tiện ích
    Được phép truy cập vào URL của tệp và chế độ ẩn danh.

Để phát hiện xem người dùng đã cho phép truy cập hay chưa, bạn có thể gọi extension.isAllowedIncognitoAccess() hoặc extension.isAllowedFileSchemeAccess().