chrome.identity

Descrizione

Utilizza l'API chrome.identity per ottenere i token di accesso OAuth2.

Autorizzazioni

identity

Tipi

AccountInfo

Proprietà

  • id

    stringa

    Un identificatore univoco dell'account. Questo ID non cambierà per tutta la durata dell'account.

AccountStatus

Chrome 84 e versioni successive

Enum

"SINCRONIZZA"
Specifica che la sincronizzazione è attiva per l'account principale.

"ANY"
Specifica l'esistenza di un account principale, se esistente.

GetAuthTokenResult

Chrome 105 e versioni successive

Proprietà

  • grantedScopes

    string[] facoltativo

    Un elenco degli ambiti OAuth2 concessi all'estensione.

  • token

    stringa facoltativo

    Il token specifico associato alla richiesta.

InvalidTokenDetails

Proprietà

  • token

    stringa

    Il token specifico che deve essere rimosso dalla cache.

ProfileDetails

Chrome 84 e versioni successive

Proprietà

  • accountStatus

    AccountStatus facoltativo

    Lo stato dell'account principale che ha eseguito l'accesso a un profilo di cui deve essere restituito il valore ProfileUserInfo. Il valore predefinito è SYNC stato dell'account.

ProfileUserInfo

Proprietà

  • email

    stringa

    L'indirizzo email dell'account utente che ha eseguito l'accesso al profilo corrente. Valore vuoto se l'utente non ha eseguito l'accesso o se l'autorizzazione per il file manifest identity.email non è specificata.

  • id

    stringa

    Un identificatore univoco dell'account. Questo ID non cambierà per tutta la durata dell'account. Vuoto se l'utente non ha eseguito l'accesso o (in M41 e versioni successive) l'autorizzazione per il file manifest identity.email non è specificata.

TokenDetails

Proprietà

  • account

    AccountInfo facoltativo

    L'ID account di cui deve essere restituito il token. Se non specificato, la funzione utilizzerà un account del profilo Chrome: l'account di sincronizzazione, se disponibile, o il primo account web Google.

  • enableGranularPermissions

    booleano facoltativo

    Chrome 87 e versioni successive

    Il flag enableGranularPermissions consente alle estensioni di attivare in anticipo la schermata di consenso delle autorizzazioni granulari, in cui le autorizzazioni richieste vengono concesse o negate singolarmente.

  • interactive

    booleano facoltativo

    Il recupero di un token potrebbe richiedere all'utente di accedere a Chrome o approvare gli ambiti richiesti dall'applicazione. Se il flag interattivo è true, getAuthToken richiederà all'utente la richiesta, se necessario. Se il flag è false o omesso, getAuthToken restituirà un errore ogni volta che è necessario un prompt.

  • ambiti

    string[] facoltativo

    Un elenco di ambiti OAuth2 da richiedere.

    Se è presente il campo scopes, sostituisce l'elenco di ambiti specificato in manifest.json.

WebAuthFlowDetails

Proprietà

  • abortOnLoadForNonInteractive

    booleano facoltativo

    Chrome 113 e versioni successive

    Indica se terminare launchWebAuthFlow per le richieste non interattive dopo il caricamento della pagina. Questo parametro non influisce sui flussi interattivi.

    Se impostato su true (valore predefinito) il flusso verrà interrotto immediatamente dopo il caricamento della pagina. Se viene impostato su false, il flusso terminerà solo al termine del timeoutMsForNonInteractive. Questo è utile per i provider di identità che utilizzano JavaScript per eseguire i reindirizzamenti dopo il caricamento della pagina.

  • interactive

    booleano facoltativo

    Se avviare il flusso di autenticazione in modalità interattiva.

    Poiché alcuni flussi di autenticazione potrebbero reindirizzare immediatamente a un URL di risultato, launchWebAuthFlow nasconde la propria visualizzazione web fino a quando la prima navigazione non reindirizza all'URL finale o non completa il caricamento di una pagina da visualizzare.

    Se il flag interactive è true, la finestra verrà visualizzata al completamento del caricamento di una pagina. Se il flag è false o omesso, launchWebAuthFlow restituirà un errore se la navigazione iniziale non completa il flusso.

    Per i flussi che utilizzano JavaScript per il reindirizzamento, abortOnLoadForNonInteractive può essere impostato su false in combinazione con l'impostazione timeoutMsForNonInteractive per dare alla pagina la possibilità di eseguire reindirizzamenti.

  • timeoutMsForNonInteractive

    numero facoltativo

    Chrome 113 e versioni successive

    La quantità massima di tempo, in millisecondi, per l'esecuzione totale di launchWebAuthFlow in modalità non interattiva. Ha effetto solo se interactive è false.

  • url

    stringa

    L'URL che avvia il flusso di autenticazione.

Metodi

clearAllCachedAuthTokens()

Promessa Chrome 87 e versioni successive
chrome.identity.clearAllCachedAuthTokens(
  callback?: function,
)

Reimposta lo stato dell'API Identity:

  • Rimuove tutti i token di accesso OAuth2 dalla cache dei token
  • Rimuove le preferenze dell'account dell'utente
  • Consente di annullare l'autorizzazione dell'utente da tutti i flussi di autorizzazione

Parametri

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    ()=>void

Ritorni

  • Promise<void>

    Chrome 106 e versioni successive

    Le promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.

getAccounts()

Promessa Canale di sviluppo
chrome.identity.getAccounts(
  callback?: function,
)

Recupera un elenco di oggetti AccountInfo che descrivono gli account presenti nel profilo.

getAccounts è supportato solo sul canale Dev.

Parametri

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    (accounts: AccountInfo[])=>void

Ritorni

  • Promise<AccountInfo[]>

    Le promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.

getAuthToken()

Promessa
chrome.identity.getAuthToken(
  details?: TokenDetails,
  callback?: function,
)

Recupera un token di accesso OAuth2 utilizzando l'ID client e gli ambiti specificati nella sezione oauth2 di manifest.json.

L'API Identity memorizza nella cache i token di accesso, quindi è possibile chiamare getAuthToken in modo non interattivo ogni volta che è necessario un token. La cache del token gestisce automaticamente la scadenza.

Per una buona esperienza utente, è importante che le richieste di token interattive vengano avviate dall'interfaccia utente dell'app e spieghino a cosa serve l'autorizzazione. Se non lo fai, gli utenti riceveranno richieste di autorizzazione o schermate di accesso di Chrome, se non hanno eseguito l'accesso, senza contesto. In particolare, non usare getAuthToken in modo interattivo quando la tua app viene lanciata per la prima volta.

Nota: quando viene richiamata con un callback, invece di restituire un oggetto questa funzione restituisce le due proprietà come argomenti separati passati al callback.

Parametri

Ritorni

  • Chrome 105 e versioni successive

    Le promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.

getProfileUserInfo()

Promessa
chrome.identity.getProfileUserInfo(
  details?: ProfileDetails,
  callback?: function,
)

Recupera l'indirizzo email e l'ID Gaia offuscato dell'utente che ha eseguito l'accesso a un profilo.

Richiede l'autorizzazione per i file manifest identity.email. In caso contrario, restituisce un risultato vuoto.

Questa API è diversa da Identity.getAccounts per due aspetti. Le informazioni restituite sono disponibili offline e si applicano solo all'account principale del profilo.

Parametri

  • dettagli

    Facoltativo ProfileDetails

    Chrome 84 e versioni successive

    Opzioni del profilo.

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    (userInfo: ProfileUserInfo)=>void

Ritorni

  • Chrome 106 e versioni successive

    Le promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.

getRedirectURL()

chrome.identity.getRedirectURL(
  path?: string,
)

Genera un URL di reindirizzamento da utilizzare in launchWebAuthFlow.

Gli URL generati corrispondono al pattern https://<app-id>.chromiumapp.org/*.

Parametri

  • percorso

    stringa facoltativo

    Il percorso aggiunto alla fine dell'URL generato.

Ritorni

  • stringa

launchWebAuthFlow()

Promessa
chrome.identity.launchWebAuthFlow(
  details: WebAuthFlowDetails,
  callback?: function,
)

Avvia un flusso di autenticazione all'URL specificato.

Questo metodo consente i flussi di autenticazione con provider di identità non Google avviando una visualizzazione web e passando al primo URL nel flusso di autenticazione del provider. Quando il provider reindirizza a un URL corrispondente al pattern https://<app-id>.chromiumapp.org/*, la finestra viene chiusa e l'URL di reindirizzamento finale viene trasmesso alla funzione callback.

Per una buona esperienza utente, è importante che dei flussi di autenticazione interattivi vengano avviati dall'interfaccia utente dell'app che spiega a cosa serve l'autorizzazione. In caso contrario, gli utenti riceveranno richieste di autorizzazione senza contesto. In particolare, non avviare un flusso di autenticazione interattivo quando l'app viene lanciata per la prima volta.

Parametri

  • Opzioni del flusso WebAuth.

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    (responseUrl?: string)=>void

    • responseUrl

      stringa facoltativo

Ritorni

  • Promessa<string|undefined>

    Chrome 106 e versioni successive

    Le promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.

removeCachedAuthToken()

Promessa
chrome.identity.removeCachedAuthToken(
  details: InvalidTokenDetails,
  callback?: function,
)

Rimuove un token di accesso OAuth2 dalla cache dei token dell'API Identity.

Se viene rilevato che un token di accesso non è valido, deve essere passato a removeCachedAuthToken per rimuoverlo dalla cache. L'app potrebbe quindi recuperare un token nuovo con getAuthToken.

Parametri

  • Informazioni sul token.

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    ()=>void

Ritorni

  • Promise<void>

    Chrome 106 e versioni successive

    Le promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.

Eventi

onSignInChanged

chrome.identity.onSignInChanged.addListener(
  callback: function,
)

Attivato quando viene modificato lo stato di accesso di un account nel profilo dell'utente.

Parametri

  • callback

    funzione

    Il parametro callback ha il seguente aspetto:

    (account: AccountInfo,signedIn: boolean)=>void