Autorisations et correspondance des hôtes
Comprenez comment déclarer et demander les autorisations nécessaires, ainsi que la manière dont les autorisations d’hôte contrôlent l’accès aux sites Web.
Autorisations et correspondance des hôtes est une leçon Browser Extensions Development (Chrome & Edge) gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Browser Extensions Development (Chrome & Edge), et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Browser Extensions Development (Chrome & Edge) comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
Why Extensions Need Permissions
Just like apps on your phone, browser extensions often need special 'permissions' to do their job. These permissions define what your extension can and cannot do.
This system is crucial for user security and privacy. It prevents extensions from accessing information or performing actions they don't need, without your explicit consent.
Two Core Permission Types
In Manifest V3, permissions generally fall into two categories:
- API Permissions: Access to specific browser features (e.g., managing tabs, saving data).
- Host Permissions: Access to specific websites (e.g., reading content on example.com).
We'll look at how to declare both in your manifest.json file.
Declaring API Permissions
API permissions are listed under the "permissions" key in your manifest.json. Each string in the array corresponds to a specific browser API.
For example, "storage" lets your extension save user data, and "tabs" allows it to interact with browser tabs (like getting their URLs).
{
"manifest_version": 3,
"name": "My Extension",
"version": "1.0",
"permissions": [
"storage",
"tabs"
]
}The 'activeTab' Permission
The "activeTab" permission is unique. It's an API permission that grants your extension temporary host permissions to the currently active tab.
This access is granted only when the user *invokes* your extension (e.g., clicks its toolbar icon). It's a great way to reduce initial permission warnings, as access is only given when needed.
{
"manifest_version": 3,
"name": "ActiveTab Demo",
"version": "1.0",
"permissions": [
"activeTab"
]
}Understanding Host Permissions
Host permissions are crucial for defining which websites your extension can interact with. Without them, your extension cannot read or modify content on web pages.
This is a major security boundary. An extension with host permission for google.com cannot access facebook.com, protecting user data and ensuring privacy.
Specifying Host Permissions
Host permissions are declared in the "host_permissions" array in your manifest.json. You use URL match patterns to specify the domains.
A match pattern like "*://*.example.com/*" means access to all subdomains of example.com over HTTP or HTTPS.
{
"manifest_version": 3,
"name": "Host Access",
"version": "1.0",
"host_permissions": [
"*://developer.chrome.com/*",
"https://www.example.org/*"
]
}Match Pattern Wildcards
Match patterns use special characters:
*: Matches any string (except/in scheme/host, or#in path).<all_urls>: A special pattern that matches any URL (http,https,ftp,file). Use this with extreme caution as it grants wide access.
For example, "https://*.google.com/search?*" would match Google search results pages.
Combining API & Host Permissions
Often, your extension will need both API and host permissions. Here's an example for an extension that wants to execute a script on Wikipedia pages.
It needs the "scripting" API permission to run code, and host permission for Wikipedia to define where that code can run.
{
"manifest_version": 3,
"name": "Wiki Enhancer",
"version": "1.0",
"permissions": [
"scripting"
],
"host_permissions": [
"*://*.wikipedia.org/*"
]
}User Consent & Trust
When a user installs your extension, the browser displays a list of all requested permissions. This is their chance to understand what your extension can do.
Always request the minimum necessary permissions. Over-requesting can make users distrust your extension and choose not to install it. Be transparent!
Check Your Understanding
Which statements accurately describe host permissions in Manifest V3 extensions?
Permissions & Host Matching Recap
Great job! You've learned about the vital role of permissions in Manifest V3 extensions.
- API Permissions: Access browser features (e.g.,
"storage","tabs"). - Host Permissions: Control website access using URL match patterns (e.g.,
"*://*.google.com/*"). "activeTab"is a special API permission that grants temporary host access.- Always request the minimum necessary permissions to build user trust.
Understanding these concepts is key to building secure and functional extensions!
Apprends JavaScript avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 12
- Leçons
- 48
Questions Fréquemment Posées
La leçon « Autorisations et correspondance des hôtes » est-elle gratuite ?
Oui — le texte complet de « Autorisations et correspondance des hôtes » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Browser Extensions Development (Chrome & Edge), passe à CoddyKit PRO. Le cours Browser Extensions Development (Chrome & Edge) comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Autorisations et correspondance des hôtes » ?
Comprenez comment déclarer et demander les autorisations nécessaires, ainsi que la manière dont les autorisations d’hôte contrôlent l’accès aux sites Web. Tu pratiques Browser Extensions Development (Chrome & Edge) avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Browser Extensions Development (Chrome & Edge) ?
Aucune expérience préalable n'est requise. Browser Extensions Development (Chrome & Edge) sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « Autorisations et correspondance des hôtes » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Browser Extensions Development (Chrome & Edge) ?
Oui. Chaque leçon Browser Extensions Development (Chrome & Edge) inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Comprendre la structure de Manifest V3
- Travailleurs de service en arrière-plan
- Autorisations et correspondance des hôtes
- Action, icônes et bouton de la barre d’outils