বেশিরভাগ এক্সটেনশন API এবং বৈশিষ্ট্যগুলি ব্যবহার করতে, আপনাকে অবশ্যই ম্যানিফেস্টের অনুমতি ক্ষেত্রগুলিতে আপনার এক্সটেনশনের অভিপ্রায় ঘোষণা করতে হবে৷ এক্সটেনশনগুলি সংশ্লিষ্ট ম্যানিফেস্ট কীগুলি ব্যবহার করে নির্দিষ্ট করা নিম্নলিখিত বিভাগের অনুমতিগুলির জন্য অনুরোধ করতে পারে:
-
"permissions" - পরিচিত স্ট্রিংগুলির একটি তালিকা থেকে আইটেমগুলি রয়েছে৷ পরিবর্তন একটি সতর্কতা ট্রিগার হতে পারে.
-
"optional_permissions" - ইনস্টলের সময় পরিবর্তে রানটাইমে ব্যবহারকারীর দ্বারা মঞ্জুর করা হয়।
-
"content_scripts.matches" - এক বা একাধিক ম্যাচ প্যাটার্ন রয়েছে যা কন্টেন্ট স্ক্রিপ্টগুলিকে এক বা একাধিক হোস্টে ইনজেক্ট করতে দেয়। পরিবর্তন একটি সতর্কতা ট্রিগার হতে পারে.
-
"host_permissions" - এক বা একাধিক ম্যাচ প্যাটার্ন রয়েছে যা এক বা একাধিক হোস্টে অ্যাক্সেস দেয়। পরিবর্তন একটি সতর্কতা ট্রিগার হতে পারে.
-
"optional_host_permissions" - ইনস্টলের সময় পরিবর্তে রানটাইমে ব্যবহারকারীর দ্বারা মঞ্জুর করা হয়।
আপনার এক্সটেনশন ম্যালওয়্যার দ্বারা আপস করা হলে অনুমতি ক্ষতি সীমিত করতে সাহায্য করে৷ ইন্সটলেশনের আগে বা রানটাইমের সময় ব্যবহারকারীদের সম্মতির জন্য কিছু অনুমতি সতর্কতা প্রদর্শন করা হয়, যেমন সতর্কতা সহ অনুমতিতে বিস্তারিত আছে।
আপনার এক্সটেনশনের কার্যকারিতা যেখানেই অনুমতি দেয় সেখানে ঐচ্ছিক অনুমতিগুলি ব্যবহার করার কথা বিবেচনা করুন, ব্যবহারকারীদের সংস্থান এবং ডেটা অ্যাক্সেসের উপর জ্ঞাত নিয়ন্ত্রণ প্রদান করতে৷
যদি একটি API-এর অনুমতির প্রয়োজন হয়, তাহলে এর ডকুমেন্টেশন ব্যাখ্যা করে কিভাবে এটি ঘোষণা করতে হয়। একটি উদাহরণের জন্য, স্টোরেজ 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-এর মিলিত নিদর্শনগুলির সাথে ইন্টারঅ্যাক্ট করার অনুমতি দেয়৷ কিছু ক্রোম এপিআই-এর নিজস্ব এপিআই অনুমতি ছাড়াও হোস্ট অনুমতির প্রয়োজন হয়, যা প্রতিটি রেফারেন্স পৃষ্ঠায় নথিভুক্ত করা হয়। এখানে কিছু উদাহরণ আছে:
- এক্সটেনশন পরিষেবা কর্মী এবং এক্সটেনশন পৃষ্ঠাগুলি থেকে
fetch()অনুরোধ করুন৷ -
chrome.tabsAPI ব্যবহার করে সংবেদনশীল ট্যাব বৈশিষ্ট্যগুলি (url, title, এবং favIconUrl) পড়ুন এবং জিজ্ঞাসা করুন৷ - প্রোগ্রাম্যাটিকভাবে একটি বিষয়বস্তুর স্ক্রিপ্ট ইনজেক্ট করুন।
-
chrome.webRequestAPI এর মাধ্যমে নেটওয়ার্ক অনুরোধগুলি নিরীক্ষণ এবং নিয়ন্ত্রণ করুন৷ -
chrome.cookiesAPI দিয়ে কুকিজ অ্যাক্সেস করুন। -
chrome.declarativeNetRequestAPI ব্যবহার করে অনুরোধ এবং প্রতিক্রিয়া শিরোনামগুলিকে পুনঃনির্দেশ ও সংশোধন করুন৷
সতর্কতা সহ অনুমতি
যখন একটি এক্সটেনশন একাধিক অনুমতির অনুরোধ করে, এবং তাদের মধ্যে অনেকগুলি ইনস্টলেশনের সময় সতর্কতা প্রদর্শন করে, ব্যবহারকারী সতর্কতার একটি তালিকা দেখতে পাবেন, যেমন নিম্নলিখিত উদাহরণে: