Permissions API
L'API Permissions fournit une manière cohérente pour connaître, dans un programme, le statut des permissions dans le contexte courant. On pourra par exemple utiliser cette API afin de déterminer si la permission d'accéder à une API donnée a été accordée ou refusée.
Note : Cette fonctionnalité est disponible via les Web Workers bien que les versions actuelles de Firefox n'implémentent pas WorkerNavigator.permissions.
Concepts et usages
Historiquement les differentes API géraient leurs propres permissions de façon peu cohérente. L'API Notifications par exemple permet de vérifier explicitement l'état d'autorisation et de déclencher la demande de permission tandis que l'API Geolocation ne permet pas ce fonctionnement (ce qui peut poser problème lorsque l'utilisateur a refusé la requête de permission initiale). L'API Permissions fournit un ensemble d'outils pour permettre aux développeuses et développeurs d'implémenter une meilleure ergonomie en ce qui concerne les permissions.
La propriété permissions
est accessible via l'objet Navigator
, dans le contexte standard du navigateur et dans le contexte des workers (WorkerNavigator
, ce qui permet de vérifier l'état des permissions depuis les workers). Cette propriété renvoie un objet Permissions
qui fournit l'accès aux fonctionalités de l'API Permissions.
Lorsque cet objet a été récupéré, on peut réaliser différentes opérations relatives aux permissions. On peut par exemple connaître l'état d'une permission en utilisant la méthode Permissions.query()
qui renvoie une promesse dont la résolution est un objet PermissionStatus
renseignant sur l'état d'autorisation pour une API donnée.
L'API Permissions ne donne pas accès aux permissions de l'ensemble des API. Voici un sous-ensemble d'API qui peuvent fonctionner avec l'API Permissions :
À l'avenir, davantage d'API devraient être prises en charge par l'API Permissions.
Exemples
Voici un exemple simple nommé Location Finder. Vous pouvez lancer cet exemple en live ici, ou voir le code source sur GitHub.
Vous pouvez également en lire plus sur le fonctionnement de cet exemple dans l'article Utiliser l'API Permissions.
Interfaces
-
Fournit un accès à l'objet
Permissions
depuis le contexte principal (respectivement celui du worker). Permissions
-
Fournit les principales fonctionalités de l'API Permissions, telles que les méthodes de demande et de révocation des permissions.
PermissionStatus
-
Fournit l'accès à l'état actuel d'une permission ainsi qu'un gestionnaire d'évènements pour répondre aux changements d'état d'une permission.
Spécifications
Specification |
---|
Permissions |
Compatibilité des navigateurs
api.Permissions
BCD tables only load in the browser
api.Navigator.permissions
BCD tables only load in the browser
api.WorkerNavigator.permissions
BCD tables only load in the browser
Voir aussi
-
Using the Permissions API to Detect How Often Users Allow or Deny Camera Access
Using the Permissions API to Detect How Often Users Allow or Deny Camera Access (en anglais)