برای استفاده از اکثر APIها و ویژگی های برنامه افزودنی ، باید هدف برنامه افزودنی خود را در قسمت های مجوزهای مانیفست اعلام کنید. برنامههای افزودنی میتوانند دستههای مجوزهای زیر را درخواست کنند که با استفاده از کلیدهای مانیفست مربوطه مشخص شدهاند:
-
"permissions"
- شامل مواردی از لیست رشته های شناخته شده است . تغییرات ممکن است باعث ایجاد یک هشدار شود.
-
"optional_permissions"
- به جای زمان نصب توسط کاربر در زمان اجرا اعطا می شود.
-
"content_scripts.matches"
- حاوی یک یا چند الگوی مطابقت است که به اسکریپت های محتوا اجازه می دهد به یک یا چند میزبان تزریق شود. تغییرات ممکن است باعث ایجاد یک هشدار شود.
-
"host_permissions"
- شامل یک یا چند الگوی تطبیق است که به یک یا چند میزبان دسترسی دارد. تغییرات ممکن است باعث ایجاد یک هشدار شود.
-
"optional_host_permissions"
- به جای زمان نصب توسط کاربر در زمان اجرا اعطا می شود.
اگر برنامه افزودنی شما توسط بدافزار به خطر بیفتد، مجوزها به محدود کردن آسیب کمک می کنند. برخی از هشدارهای مجوز برای رضایت کاربران قبل از نصب یا در زمان اجرا، همانطور که در مجوز با هشدارها توضیح داده شده است، نمایش داده می شود.
استفاده از مجوزهای اختیاری را در هر جایی که عملکرد برنامه افزودنی شما اجازه می دهد، در نظر بگیرید تا به کاربران کنترل آگاهانه ای بر دسترسی به منابع و داده ها ارائه دهید.
اگر یک API به مجوز نیاز داشته باشد، مستندات آن نحوه اعلام آن را توضیح میدهد. برای مثال، Storage API را ببینید.
آشکار
نمونه زیر نمونه ای از بخش مجوزهای یک فایل مانیفست است:
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
}
مجوزهای میزبان
مجوزهای میزبان به برنامه های افزودنی اجازه می دهد تا با الگوهای منطبق URL تعامل داشته باشند. برخی از APIهای Chrome علاوه بر مجوزهای API خود، که در هر صفحه مرجع مستند شده است، به مجوزهای میزبان نیز نیاز دارند. در اینجا چند نمونه آورده شده است:
- درخواستهای
fetch()
را از Worker Service و صفحات افزونه درخواست کنید. - با استفاده از
chrome.tabs
API خصوصیات برگه حساس (url، عنوان، و favIconUrl) را بخوانید و پرس و جو کنید. - یک اسکریپت محتوا را به صورت برنامه نویسی تزریق کنید.
- درخواست های شبکه را با
chrome.webRequest
API نظارت و کنترل کنید. - با
chrome.cookies
API به کوکی ها دسترسی پیدا کنید. - با استفاده از
chrome.declarativeNetRequest
API درخواستها و سرصفحههای پاسخ را هدایت و تغییر دهید.
مجوزها با اخطار
هنگامی که یک برنامه افزودنی چندین مجوز درخواست می کند و بسیاری از آنها هشدارهایی را هنگام نصب نشان می دهند، کاربر لیستی از هشدارها را می بیند، مانند مثال زیر:
کاربران به احتمال بیشتری به یک برنامه افزودنی با اخطارهای محدود یا زمانی که مجوزها برای آنها توضیح داده می شود اعتماد می کنند. برای جلوگیری از هشدارهای هشداردهنده ، مجوزهای اختیاری یا یک API کمتر قدرتمند را اجرا کنید. برای بهترین شیوهها برای هشدارها، دستورالعملهای هشدارهای مجوز را ببینید. هشدارهای خاص همراه با مجوزهایی که برای آنها اعمال می شود در لیست مرجع مجوزها فهرست شده اند.
افزودن یا تغییر الگوهای تطابق در فیلدهای "host_permissions"
و "content_scripts.matches"
فایل مانیفست نیز باعث ایجاد یک هشدار می شود. برای اطلاعات بیشتر، بهروزرسانی مجوزها را ببینید.
اجازه دسترسی
اگر برنامه افزودنی شما باید روی URL های file://
اجرا شود یا در حالت ناشناس کار کند، کاربران باید به برنامه افزودنی اجازه دسترسی به صفحه جزئیات آن را بدهند. میتوانید دستورالعملهای باز کردن صفحه جزئیات را در زیر مدیریت برنامههای افزودنی خود بیابید.
اجازه دسترسی به URL های فایل و صفحات ناشناس را بدهید
- روی نماد برنامه افزودنی در کروم کلیک راست کنید.
Manage Extension را انتخاب کنید.
برای فعال کردن دسترسی به URLهای فایل یا حالت ناشناس، به پایین پیمایش کنید.
برای تشخیص اینکه آیا کاربر اجازه دسترسی را داده است یا خیر، میتوانید extension.isAllowedIncognitoAccess()
یا extension.isAllowedFileSchemeAccess()
را فراخوانی کنید.