Demandes de permission

Votre extension peut contenir deux types de demandes de permission : les demandes de temps d'installation et les demandes de permission d'exécution. Cette page explique comment vous pouvez tester la façon dont vos utilisateurs verront les demandes de ces permissions.

Comportement de l'octroi de la permission pendant le test

Lorsque vous testez avec une extension non compressée utilisant about:debugging ou web-ext et les permissions d'installation et d'exécution sont traitées comme suit :

  • Les demandes de permission de temps d'installation sont accordées en silence. Vous ne voyez pas les avertissements de permission que les utilisateurs verraient.
  • Les demandes d'autorisation d'exécution affichent la demande d'accrochecomme d'habitude. Ces permissions restent en place jusqu'à ce qu'elles soient révoquées programmatiquement par l'extension, l'extension est supprimée en utilisant about:debugging ou redémarrer Firefox.

Observeer ou vérifier des demandes de permissions lors de l'installation

Vous suivez différents processus selon que vous souhaitez observer les demandes de permissions associées à une installation ou à une mise à niveau.

Demandes de permission pour l'installation d'extensions

Pour afficher les avertissements de permission de temps d'installation que les utilisateurs voient lors de l'installation de votre extension et retester les demandes d'autorisation d'exécution, installez l'extension depuis son fichier *.xpi ou *.zip.

Pour ce faire, vous devez utiliser un fichier *.xpi ou *.zip non signé :

  • donnez un identifiant à votre extension à l'aide de la clé d'applications application.
  • exécuter les versions Nightly ou Developer Edition de Firefox.
  • Définissez la préférence about:config xpinstall.signatures.required à  false.

Installez ensuite l'extension à l'aide de l'option Installer Add-on à partir du fichier dans le gestionnaire de modules complémentaires (about:addons). Au fur et à mesure que l'extension s'installe, la demande d'octroi des permissions s'affiche lors de l'installation, comme ceci :

Example of the doorhanger displayed when installing an extension through about:addons

Notez que le message d'avertissement concerne une extension non signée ; ce message ne s'affiche pas pendant l'installation depuis addons.mozilla.org.

Demande de permission  pour la mise à niveau de l'extension

Pour plus de détails sur la façon de fournir des mises à jour d'extension Web lorsque vous hébergez vous-même votre extension, voir Mises à jour.

Pour afficher les avertissements d'autorisation de temps d'installation que les utilisateurs voient lorsque votre extension est mise à niveau par Firefox et retester les demandes d'autorisation d'exécution, vous installez l'extension depuis son fichier.xpi posté sur un serveur HTTP ou HTTPS.

Vous pouvez utiliser un serveur HTTP (tel qu'un simple serveur localhost python) ou un serveur HTTPS. Cependant, votre serveur HTTPS doit avoir un certificat vérifiable, que Firefox peut accepter automatiquement ; vous ne pouvez pas utiliser un certificat auto-signé. Si vous voulez tester à partir d'un serveur HTTPS mais n'en avez pas, les pages GitHub sont une option que vous pouvez utiliser.

Pour effectuer le test, vous devrez :

  • déterminer l'adresse du serveur HTTP ou HTTPS où vous pouvez héberger les fichiers.
  • utilisez  la clé des applications manifest.json pour :
  • si nécessaire, créez un paquet contenant votre extension originale.
  • mettre à jour votre extension et ajouter les détails des nouvelles permissions requises au fichier manifest.json, sans oublier de mettre à jour le numéro de version. Créez un paquet contenant votre extension mise à jour.
    Si les paquets ont été générés avec des extensions.zip, changez-les en.xpi, sinon votre navigateur pourrait essayer de télécharger plutôt que d'installer l'extension.
  • Créer la mise à jour du manifest avec les détails des deux versions d'extension, qui devrait être similaire à celui-ci :
    {
      "addons": {
        "test@your-address.com": {
          "updates": [
            { "version": "n.0", "update_link": "https://your-account.github.io/webextensions/your-extension-1.0.xpi" },
            { "version": "n+1.0", "update_link": "https://your-account.github.io/webextensions/your-extension-2.0.xpi" }
          ]
        }
      }
    }
  • télécharger les deux paquets d'extension et les mises à jour manifestes sur votre serveur HTTP ou HTTPS.
  • exécuter les versions Nightly ou Developer Edition de Firefox.
  • dans about:config :
    • Définissez la préférence xpinstall.signatures.required à false.
    • Si vous utilisez Nightly et hébergez votre mise à jour sur un serveur HTTP, créez et définissez les préférences extensions.checkUpdateSecurity et  extensions.install.requireSecureOrigin à false. Pour faire ceci :
      • entrez le nom de la préférence dans la zone de recherche.
      • cliquez sur Ajouter.
        Create a new about:config item in Nightly
      • basculez la préférence pour la mettre à false.
        Toggle the boolean value of a about:config item in Nightly
  • ouvrez le lien vers le premier fichier XPI pour l'installer.
  • Ouvrez about:addons, cliquez sur l'icône cranter et cliquez sur Check for Updates.
  • vous obtiendrez un message d'avertissement de permission, similaire à celui ci-dessous, détaillant les permissions supplémentaires demandées :
    Example of the doorhanger displayed when testing permission requests for an extension upgrade

Si la mise à niveau n'a pas lieu, recherchez dans les logs addons.update-checker de la console du navigateur. Toute erreur rencontrée au cours du processus de mise à niveau sera signalée dans le journal de logs.

Re-tester les permissions d'éxécution octroyées

Pour tester à nouveau les permissions d'exécution de votre extension et son comportement post-installation, vous avez deux choix :

Vous pouvez ensuite réexécuter l'extension et toutes les demandes de permissions d'exécution seront affichées comme si l'extension était exécutée pour la première fois.