Dichiara le autorizzazioni

Per utilizzare la maggior parte delle API e delle funzionalit� delle estensioni, devi dichiarare l'intent dell'estensione nei campi delle autorizzazioni del manifest. Le estensioni possono richiedere le seguenti categorie di autorizzazioni, specificate utilizzando le rispettive chiavi manifest:

"permissions"
Contiene elementi da un elenco di stringhe note. Le modifiche potrebbero attivare un avviso.
"optional_permissions"
Concesso dall'utente in fase di runtime, anzich� al momento dell'installazione.
"content_scripts.matches"
Contiene uno o pi� pattern di corrispondenza che consentono l'inserimento di script di contenuti in uno o pi� host. Le modifiche potrebbero attivare un avviso.
"host_permissions"
Contiene uno o pi� pattern di corrispondenza che consentono l'accesso a uno o pi� host. Le modifiche potrebbero attivare un avviso.
"optional_host_permissions"
Concesso dall'utente in fase di runtime, anzich� al momento dell'installazione.

Le autorizzazioni consentono di limitare i danni se l'estensione viene compromessa da malware. Alcuni avvisi relativi alle autorizzazioni vengono mostrati agli utenti per il loro consenso prima durante l'installazione o in fase di runtime, come descritto in Autorizzazione con avvisi.

Valuta la possibilit� di utilizzare autorizzazioni facoltative ovunque la funzionalit� dell'estensione per fornire agli utenti un controllo informato sull'accesso a risorse e dati.

Se un'API richiede un'autorizzazione, la relativa documentazione spiega come dichiararla. Per un vedi API Storage.

Manifest

Di seguito � riportato un esempio della sezione delle autorizzazioni di un file manifest:

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
}

Autorizzazioni host

Le autorizzazioni dell'host consentono alle estensioni di interagire con i pattern corrispondenti dell'URL. Alcune API di Chrome richiedono autorizzazioni host oltre alle proprie autorizzazioni API, documentate in ogni pagina di riferimento. Ecco alcuni esempi:

Autorizzazioni con avvisi

Quando un'estensione richiede pi� autorizzazioni e molte vengono visualizzate avvisi di installazione, l'utente vedr� un elenco di avvisi, come nell'esempio seguente:

Avvisi relativi alle autorizzazioni delle estensioni al momento dell'installazione

Gli utenti sono pi� propensi a fidarsi di un'estensione con avvisi limitati o quando vengono spiegate le autorizzazioni a loro. Valuta la possibilit� di implementare autorizzazioni facoltative o un'API meno potente per evitare allarmanti avvisi. Per le best practice relative agli avvisi, consulta le linee guida sugli avvisi relativi alle autorizzazioni. Specific (specifici) vengono elencati gli avvisi con le relative autorizzazioni Elenco di riferimento per le autorizzazioni.

Aggiunta o modifica dei pattern di corrispondenza in "host_permissions" e "content_scripts.matches" del file manifest attiveranno anche un avviso. Per saperne di pi�, vedi Aggiornare le autorizzazioni.

Consenti accesso

Se l'estensione deve essere eseguita su URL file:// o operare in modalit� di navigazione in incognito, gli utenti devono concedere all'estensione l'accesso nella relativa pagina dei dettagli. Puoi trovare le istruzioni per aprire la pagina dei dettagli in Gestisci le estensioni.

Consenti l'accesso agli URL dei file e alle pagine in incognito

  1. Fai clic con il tasto destro del mouse sull'icona dell'estensione in Chrome.
  2. Scegli Gestisci estensione.

    Menu contestuale dell'estensione
    . Menu estensione
  3. Scorri verso il basso per abilitare l'accesso agli URL dei file o alla modalit� di navigazione in incognito.

    Consenti gli URL dei file e la modalit� di navigazione in incognito nella pagina dei dettagli delle estensioni
    . Accesso ai file degli URL e modalit� di navigazione in incognito attivato.

Per rilevare se l'utente ha consentito l'accesso, puoi chiamare extension.isAllowedIncognitoAccess() oppure extension.isAllowedFileSchemeAccess().