permissions

Permet aux extensions de demander des permissions supplémentaires lors de l'exécution, après leur installation.
 

Les extensions ont besoin de permissions pour accéder aux nombreuses API WebExtension les plus puissantes. Ils peuvent demander des permissions lors de l'installation en incluant les permissions dont ils ont besoin dans la clé du manifesst.json des permissions. Les principaux avantages de demander des permissions au moment de l'installation sont les suivants:

  • L'utilisateur est seulement demandé une fois, donc il est moins perturbateur pour eux et une décision plus simple
  • L'extension peut compter sur l'accès aux API dont elle a besoin, car si elle est en cours d'exécution, les permissions ont été accordées.

Il n'y a pas encore d'interface graphique simple permettant aux utilisateurs d'afficher les permissions des modules complémentaires WebExtensions installés. Les utilisateurs doivent utiliser about:debugging, puis allez dans la section des modules complémentaires, puis utilisez le lien "Manifest Url" pour le module complémentaire. Cela montrera le json brut, qui inclut un bloc "permissions" qui montre les permissions utilisées par l'addon.

Avec l'API de permissions, une extension peut demander des permissions supplémentaires lors de l'exécution. Ces permissions doivent être listées dans la clé optional_permissions du manifest.json. Notez que certaines permissions ne sont pas autorisées dans optional_permissions. Les principaux avantages de ceci sont :

  • L'extension peut s'exécuter avec un plus petit nombre de permissions, sauf lorsqu'elle en a réellement besoin
  • L'extension peut gérer le refus de permission de manière gracieuse au lieu de présenter à l'utilisateur un choix global "tout ou rien" au moment de l'installation. Vous pouvez toujours obtenir beaucoup de cette carte d'extension sans lui donner accès à votre emplacement, par exemple.
  • L'extension peut avoir besoin des permissions hôtes, mais ne sait pas à l'installation exactement quelles permissions d'hôte qu'il a besoin. Par exemple, la liste des hôtes peut être un paramètre utilisateur. Dans ce scénario, demander une gamme plus spécifique d'hôtes au moment de l'exécution peut être une alternative à demander "<all_urls>" au moment de l'installation.

Pour utiliser l'API de permissions, déterminez les permissions que votre extension peut demander lors de l'exécution, et indiquez-les dans optional_permissions. Après cela, vous pouvez demander toutes les permissions incluses dans  optional_permissions. Les demandes peuvent uniquement être effectuées dans le gestionnaire pour une action de l'utilisateur (par exemple, un gestionnaire de clics).
 
Pour des conseils sur la conception de votre demande d'autorisations d'exécution, afin de maximiser la probabilité que les utilisateurs les accordent, consultez la section Demande de permissions à exécuter

Types

permissions.Permissions
Représente un ensemble de permissions.

Méthodes

permissions.contains()
Découvrez si l'extensions a le jeu de permissions donné.
permissions.getAll()
Obtenez toutes les permissions que cette extension a actuellement.
permissions.remove()
Renoncer à un ensemble de permissions.
permissions.request()
Demander un ensemble de permissions.

Event handlers

permissions.onAdded
Activé lorsqu'une nouvelle permission est accordée.
permissions.onRemoved
Déclenché lorsque une permission est supprimée.

Compatibilité du navigateur

Update compatibility data on GitHub
OrdinateurMobile
ChromeEdgeFirefoxOperaSafariFirefox pour Android
containsChrome Support complet OuiEdge Support complet 79Firefox Support complet 55Opera Support complet OuiSafari Support complet 14Firefox Android Support complet 55
getAllChrome Support complet OuiEdge Support complet 79Firefox Support complet 55Opera Support complet OuiSafari Support complet 14Firefox Android Support complet 55
onAddedChrome Support complet OuiEdge Support complet 79Firefox Support complet 77
Notes
Support complet 77
Notes
Notes There is a polyfill available for earlier versions.
Opera Support complet OuiSafari Support complet 14Firefox Android Aucun support Non
onRemovedChrome Support complet OuiEdge Support complet 79Firefox Support complet 77
Notes
Support complet 77
Notes
Notes There is a polyfill available for earlier versions.
Opera Support complet OuiSafari Support complet 14Firefox Android Aucun support Non
PermissionsChrome Support complet OuiEdge Support complet 79Firefox Support complet 55Opera Support complet OuiSafari Support complet 14Firefox Android Support complet 55
removeChrome Support complet OuiEdge Support complet 79Firefox Support complet 55Opera Support complet OuiSafari Support complet 14
Notes
Support complet 14
Notes
Notes Removing <all_urls> or *://*/* origins will remove previously granted permission to request specific origin patterns and will stop automatically prompting the user for access to any visited website via the extension's access popover in the toolbar.
Firefox Android Support complet 55
requestChrome Support complet OuiEdge Support complet 79Firefox Support complet 55
Notes
Support complet 55
Notes
Notes The user will be prompted again for permissions that have been previously granted and then removed.
Notes It's not possible to request permissions from a popup or a sidebar document.
Aucun support 56 — 61
Notes
Notes It's not possible to request permissions from an options page that's embedded in about:addons. To request permissions from an options page, set the open_in_tab property in the options_ui manifest key, so the options page opens in its own tab.
Opera Support complet OuiSafari Support complet 14
Notes
Support complet 14
Notes
Notes Requesting <all_urls> or *://*/* origins will grant permission to request specific origin patterns and automatically prompt the user for access to any visited website via the extension's access popover in the toolbar.
Notes The user will be prompted again for permissions that have been previously granted and then removed.
Notes Supported permissions will be granted without prompting the user. Only specific origin patterns will prompt the user.
Firefox Android Support complet 55
Notes
Support complet 55
Notes
Notes The user will be prompted again for permissions that have been previously granted and then removed.
Notes It's not possible to request permissions from a popup or a sidebar document.
Aucun support 56 — 61
Notes
Notes It's not possible to request permissions from an options page that's embedded in about:addons. To request permissions from an options page, set the open_in_tab property in the options_ui manifest key, so the options page opens in its own tab.

Légende

Support complet  
Support complet
Aucun support  
Aucun support
Voir les notes d'implémentation.
Voir les notes d'implémentation.

Example extensions

Remerciements :

Cette API est basée sur l'API Chromium chrome.permissions.

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.