Descrizione
Utilizza l'API chrome.identity per ottenere i token di accesso OAuth2.
Autorizzazioni
identityTipi
AccountInfo
Proprietà
- 
    idstringa Un identificatore univoco per l'account. Questo ID non cambierà per tutta la durata dell'account. 
AccountStatus
Enum
"SYNC" 
 Specifica che la sincronizzazione è attivata per l'account principale.
"ANY" 
 Specifica l'esistenza di un account principale, se presente.
GetAuthTokenResult
Proprietà
- 
    grantedScopesstring[] facoltativo Un elenco degli ambiti OAuth2 concessi all'estensione. 
- 
    tokenstringa facoltativa Il token specifico associato alla richiesta. 
InvalidTokenDetails
Proprietà
- 
    tokenstringa Il token specifico da rimuovere dalla cache. 
ProfileDetails
Proprietà
- 
    accountStatusAccountStatus facoltativo Lo stato dell'account principale con cui è stato eseguito l'accesso a un profilo il cui ProfileUserInfodeve essere restituito. Il valore predefinito è lo stato dell'accountSYNC.
ProfileUserInfo
Proprietà
- 
    emailstringa Un indirizzo email per l'account utente che ha eseguito l'accesso al profilo attuale. Vuoto se l'utente non ha eseguito l'accesso o se l'autorizzazione manifest identity.emailnon è specificata.
- 
    idstringa Un identificatore univoco per l'account. Questo ID non cambierà per tutta la durata dell'account. Vuoto se l'utente non ha eseguito l'accesso o (in M41+) se l'autorizzazione manifest identity.emailnon è specificata.
TokenDetails
Proprietà
- 
    accountAccountInfo facoltativo L'ID account di cui deve essere restituito il token. Se non viene specificato, la funzione utilizzerà un account del profilo Chrome: l'account di sincronizzazione, se presente, altrimenti il primo account web Google. 
- 
    enableGranularPermissionsbooleano facoltativo Chrome 87+Il flag enableGranularPermissionsconsente alle estensioni di attivare in anticipo la schermata per il consenso alle autorizzazioni granulari, in cui le autorizzazioni richieste vengono concesse o negate singolarmente.
- 
    interattivobooleano facoltativo Il recupero di un token potrebbe richiedere all'utente di accedere a Chrome o di approvare gli ambiti richiesti dall'applicazione. Se il flag interattivo è true,getAuthTokenchiederà all'utente di intervenire se necessario. Quando il flag èfalseo omesso,getAuthTokenrestituirà un errore ogni volta che è necessario un prompt.
- 
    ambitistring[] facoltativo Un elenco di ambiti OAuth2 da richiedere. Quando è presente il campo scopes, questo sostituisce l'elenco degli ambiti specificati in manifest.json.
WebAuthFlowDetails
Proprietà
- 
    abortOnLoadForNonInteractivebooleano facoltativo Chrome 113+Se terminare launchWebAuthFlowper le richieste non interattive dopo il caricamento della pagina. Questo parametro non influisce sui flussi interattivi.Se impostato su true(impostazione predefinita), il flusso termina immediatamente dopo il caricamento della pagina. Se impostato sufalse, il flusso terminerà solo dopo il superamento ditimeoutMsForNonInteractive. Ciò è utile per i provider di identità che utilizzano JavaScript per eseguire i reindirizzamenti dopo il caricamento della pagina.
- 
    interattivobooleano facoltativo Indica se avviare il flusso di autenticazione in modalità interattiva. Poiché alcuni flussi di autenticazione potrebbero reindirizzare immediatamente a un URL di risultato, launchWebAuthFlownasconde la visualizzazione web finché la prima navigazione non reindirizza all'URL finale o non termina il caricamento di una pagina da visualizzare.Se il flag interactiveètrue, la finestra viene visualizzata al termine del caricamento di una pagina. Se il flag èfalseo è omesso,launchWebAuthFlowrestituirà un errore se la navigazione iniziale non completa il flusso.Per i flussi che utilizzano JavaScript per il reindirizzamento, abortOnLoadForNonInteractivepuò essere impostato sufalsein combinazione con l'impostazione ditimeoutMsForNonInteractiveper dare alla pagina la possibilità di eseguire eventuali reindirizzamenti.
- 
    timeoutMsForNonInteractivenumber (facoltativo) Chrome 113+La quantità massima di tempo, in millisecondi, in cui launchWebAuthFlowpuò essere eseguito in modalità non interattiva in totale. Ha effetto solo seinteractiveèfalse.
- 
    urlstringa L'URL che avvia il flusso di autenticazione. 
Metodi
clearAllCachedAuthTokens()
chrome.identity.clearAllCachedAuthTokens(): Promise<void>
Reimposta lo stato dell'API Identity:
- Rimuove tutti i token di accesso OAuth2 dalla cache dei token
- Rimuove le preferenze dell'account utente
- Deautorizza l'utente da tutti i flussi di autenticazione
Resi
- 
            Promise<void> Chrome 106+
getAccounts()
chrome.identity.getAccounts(): Promise<AccountInfo[]>
Recupera un elenco di oggetti AccountInfo che descrivono gli account presenti nel profilo.
getAccounts è supportato solo sul canale dev.
Resi
- 
            Promise<AccountInfo[]> 
getAuthToken()
chrome.identity.getAuthToken(
details?: TokenDetails,
): Promise<GetAuthTokenResult>
Ottiene 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 in memoria, quindi è possibile chiamare getAuthToken in modo non interattivo ogni volta che è necessario un token. La cache dei token gestisce automaticamente la scadenza.
Per una buona esperienza utente, è importante che le richieste di token interattivi vengano avviate dall'UI della tua app, che spiega a cosa serve l'autorizzazione. Se non lo fai, i tuoi utenti riceveranno richieste di autorizzazione o schermate di accesso a Chrome, se non hanno eseguito l'accesso, senza alcun contesto. In particolare, non utilizzare getAuthToken in modo interattivo al primo lancio dell'app.
Nota: quando viene chiamata con un callback, anziché restituire un oggetto, questa funzione restituisce le due proprietà come argomenti separati passati al callback.
Parametri
- 
    dettagliTokenDetails facoltativo Opzioni token. 
Resi
- 
            Promise<GetAuthTokenResult> Chrome 105+
getProfileUserInfo()
chrome.identity.getProfileUserInfo(
details?: ProfileDetails,
): Promise<ProfileUserInfo>
Recupera l'indirizzo email e l'ID Gaia offuscato dell'utente che ha eseguito l'accesso a un profilo.
Richiede l'autorizzazione manifest identity.email. In caso contrario, restituisce un risultato vuoto.
Questa API è diversa da identity.getAccounts in due modi. Le informazioni restituite sono disponibili offline e si applicano solo all'account principale del profilo.
Parametri
- 
    dettagliProfileDetails facoltativo Chrome 84 e versioni successiveOpzioni del profilo. 
Resi
- 
            Promise<ProfileUserInfo> Chrome 106+
getRedirectURL()
chrome.identity.getRedirectURL(
path?: string,
): string
Genera un URL di reindirizzamento da utilizzare in launchWebAuthFlow.
Gli URL generati corrispondono al pattern https://<app-id>.chromiumapp.org/*.
Parametri
- 
    percorsostringa facoltativa Il percorso aggiunto alla fine dell'URL generato. 
Resi
- 
            stringa 
launchWebAuthFlow()
chrome.identity.launchWebAuthFlow(
details: WebAuthFlowDetails,
): Promise<string | undefined>
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 spostandosi al primo URL nel flusso di autenticazione del provider. Quando il fornitore reindirizza a un URL corrispondente al pattern https://<app-id>.chromiumapp.org/*, la finestra si chiude e l'URL di reindirizzamento finale viene passato alla funzione callback.
Per una buona esperienza utente, è importante che i flussi di autorizzazione interattivi vengano avviati dall'UI della tua 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 al primo lancio dell'app.
Parametri
- 
    dettagliOpzioni del flusso WebAuth. 
Resi
- 
            Promise<string | undefined> Chrome 106+
removeCachedAuthToken()
chrome.identity.removeCachedAuthToken(
details: InvalidTokenDetails,
): Promise<void>
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 può quindi recuperare un nuovo token con getAuthToken.
Parametri
- 
    dettagliInformazioni sul token. 
Resi
- 
            Promise<void> Chrome 106+
Eventi
onSignInChanged
chrome.identity.onSignInChanged.addListener(
callback: function,
)
Attivato quando lo stato di accesso cambia per un account nel profilo dell'utente.
Parametri
- 
    callbackfunzione Il parametro callbackha il seguente aspetto:(account: AccountInfo, signedIn: boolean) => void - 
    account
- 
    signedInbooleano 
 
-