Libreria JavaScript di autorizzazione di terze parti di Google per i siti web: riferimento API

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Questo riferimento descrive l'API 3P Authorization JavaScript Library di Google, che puoi utilizzare per caricare i codici di autorizzazione o accedere ai token da Google.

Metodo: google.accounts.oauth2.initCodeClient

Il metodo initCodeClient inizializza e restituisce un client di codice, con le configurazioni nel parametro.

google.accounts.oauth2.initCodeClient(config: CodeClientConfig)

Tipo di dati: CodeClientConfig

La seguente tabella elenca le proprietà del tipo di dati CodeClientConfig.

Proprietà
client_id Obbligatorio. L'ID client della tua applicazione. Questo valore è disponibile nella Console API.
scope Obbligatorio. Un elenco di ambiti delimitato da spazi che identificano le risorse a cui la tua applicazione potrebbe accedere per conto dell'utente. Questi valori definiscono la schermata per il consenso che Google mostra all'utente.
include_granted_scopes Facoltativo: il valore predefinito è true. Consente alle applicazioni di utilizzare l'autorizzazione incrementale per richiedere l'accesso ad ambiti aggiuntivi nel contesto. Se imposti il valore di questo parametro su false e la richiesta di autorizzazione viene concessa, il nuovo token di accesso coprirà solo gli ambiti per cui scope richiede questo elemento CodeClientConfig. Nota: il valore enable_serial_consent deve essere impostato su true affinché questo venga applicato. In caso contrario, initCodeClient ignora qualsiasi valore di include_granted_scopes.
redirect_uri Necessario per UX di reindirizzamento. Determina dove il server API reindirizza l'utente dopo che quest'ultimo ha completato il flusso di autorizzazione. Il valore deve corrispondere esattamente a uno degli URI di reindirizzamento autorizzati per il client OAuth 2.0, configurato nella console API e deve essere conforme alle regole di convalida dell'URI di reindirizzamento. La proprietà verrà ignorata dall'esperienza utente popup.
callback Obbligatorio per l'esperienza utente popup. La funzione JavaScript che gestisce la risposta del codice restituito. La proprietà verrà ignorata dall'esperienza di reindirizzamento.
state (Facoltativo) Opzione consigliata per l'esperienza utente del reindirizzamento. Specifica qualsiasi valore stringa utilizzato dall'applicazione per mantenere lo stato tra la richiesta di autorizzazione e la risposta del server di autorizzazione.
enable_serial_consent Facoltativo: il valore predefinito è true. Se è impostata su false, le autorizzazioni dell'Account Google più granulari saranno disattivate per i clienti creati prima del 2019. Nessun effetto per i nuovi clienti, poiché per loro sono sempre attivate autorizzazioni più granulari.
hint (Facoltativo) Se la tua applicazione sa quale utente deve autorizzare la richiesta, può utilizzare questa proprietà per fornire un suggerimento a Google. L'indirizzo email dell'utente di destinazione. Per ulteriori informazioni, vedi il campo login_hint nella documentazione di OpenID Connect.
hosted_domain (Facoltativo) Se la tua applicazione conosce il dominio Workspace a cui appartiene l'utente, utilizzalo per fornire un suggerimento a Google. Per ulteriori informazioni, vedi il campo hd nella documentazione di OpenID Connect.
ux_mode (Facoltativo) La modalità UX da usare per il flusso di autorizzazione. Per impostazione predefinita, apre il flusso di consenso in una finestra popup. I valori validi sono popup e redirect.
select_account Facoltativo, il valore predefinito è 'false'. Valore booleano che richiede all'utente di selezionare un account.
error_callback (Facoltativo) La funzione JavaScript che gestisce alcuni errori non OAuth, ad esempio la finestra popup, non si apre o viene chiusa prima di restituire una risposta OAuth.

Il campo "type" del parametro di input fornisce il motivo dettagliato.
  • Popup_failed_to_open La finestra popup non può essere aperta.
  • Popup_closed La finestra popup viene chiusa prima che venga restituita una risposta OAuth.
  • sconosciuto Segnaposto per altri errori.

Tipo di dati: CodeClient

La classe ha un solo metodo di richiesta requestCode pubblico, che avvia il flusso UX dell'esperienza utente del codice OAuth 2.0.

interface CodeClient {
  requestCode(): void;
}

Tipo di dati: CodeResponse

Un oggetto JavaScript CodeResponse verrà passato al metodo callback nell'UX del popup. Nell'UX del reindirizzamento, CodeResponse verrà passato come parametro URL.

La seguente tabella elenca le proprietà del tipo di dati CodeResponse.

Proprietà
code Il codice di autorizzazione di una risposta al token riuscita.
scope Un elenco di ambiti delimitato da spazi approvato dall'utente.
state Il valore stringa utilizzato dall'applicazione per mantenere lo stato tra la richiesta di autorizzazione e la risposta.
error Un singolo codice di errore ASCII.
error_description Testo ASCII leggibile da parte degli utenti che fornisce informazioni aggiuntive, utilizzato per aiutare lo sviluppatore client a comprendere l'errore che si è verificato.
error_uri Un URI che identifica una pagina web facilmente leggibile con informazioni sull'errore, utilizzata per fornire allo sviluppatore client informazioni aggiuntive sull'errore.

Metodo: google.accounts.oauth2.initTokenClient

Il metodo initTokenClient inizializza e restituisce un client token, con le configurazioni nel parametro.

google.accounts.oauth2.initTokenClient(config: TokenClientConfig)

Tipo di dati: TokenClientConfig

La seguente tabella elenca le proprietà del tipo di dati TokenClientConfig.

Proprietà
client_id Obbligatorio. L'ID client della tua applicazione. Questo valore è disponibile nella console API.
callback Obbligatorio. La funzione JavaScript che gestisce la risposta del token restituito.
scope Obbligatorio. Un elenco di ambiti delimitato da spazi che identificano le risorse a cui la tua applicazione potrebbe accedere per conto dell'utente. Questi valori definiscono la schermata per il consenso che Google mostra all'utente.
include_granted_scopes Facoltativo: il valore predefinito è true. Consente alle applicazioni di utilizzare l'autorizzazione incrementale per richiedere l'accesso ad ambiti aggiuntivi nel contesto. Se imposti il valore di questo parametro su false e la richiesta di autorizzazione viene concessa, il nuovo token di accesso coprirà solo gli ambiti per cui scope richiede questo elemento TokenClientConfig. Nota: il valore enable_serial_consent deve essere impostato su true affinché questo venga applicato. In caso contrario, initTokenClient ignora qualsiasi valore di include_granted_scopes.
prompt Facoltativo, il valore predefinito è 'select_account'. Un elenco di richieste di presentazione dell'utente, delimitati da maiuscole e minuscole. I valori possibili sono:
  • stringa vuota All'utente viene richiesto solo il primo accesso alla tua app. Non può essere specificato con altri valori.
  • 'none' non viene visualizzata alcuna schermata di autenticazione o consenso. Non deve essere specificato con altri valori.
  • 'consent' Chiedi il consenso all'utente.
  • 'select_account'. Chiedi all'utente di selezionare un account.
enable_serial_consent Facoltativo: il valore predefinito è true. Se è impostata su false, le autorizzazioni dell'Account Google più granulari saranno disattivate per i clienti creati prima del 2019. Nessun effetto per i nuovi clienti, poiché per loro sono sempre attivate autorizzazioni più granulari.
hint (Facoltativo) Se la tua applicazione sa quale utente deve autorizzare la richiesta, può utilizzare questa proprietà per fornire un suggerimento a Google. L'indirizzo email dell'utente di destinazione. Per ulteriori informazioni, vedi il campo login_hint nella documentazione di OpenID Connect.
hosted_domain (Facoltativo) Se la tua applicazione conosce il dominio Workspace a cui appartiene l'utente, utilizzalo per fornire un suggerimento a Google. Per ulteriori informazioni, vedi il campo hd nella documentazione di OpenID Connect.
state (Facoltativo) Non consigliati. Specifica qualsiasi valore stringa utilizzato dall'applicazione per mantenere lo stato tra la richiesta di autorizzazione e la risposta del server di autorizzazione.
error_callback (Facoltativo) La funzione JavaScript che gestisce alcuni errori non OAuth, ad esempio la finestra popup, non si apre o viene chiusa prima di restituire una risposta OAuth.

Il campo "type" del parametro di input fornisce il motivo dettagliato.
  • Popup_failed_to_open La finestra popup non può essere aperta.
  • Popup_closed La finestra popup viene chiusa prima che venga restituita una risposta OAuth.
  • sconosciuto Segnaposto per altri errori.

Tipo di dati: TokenClient

La classe ha un solo metodo pubblico requestAccessToken, che avvia il flusso dell'esperienza utente del token OAuth 2.0.

interface TokenClient {
  requestAccessToken(overrideConfig?: OverridableTokenClientConfig): void;
}
Argomenti
overrideConfig Configurazione client client overridable (Facoltativo) Le configurazioni di cui eseguire l'override in questo metodo.

Tipo di dati: OverridableTokenClientConfig

La seguente tabella elenca le proprietà del tipo di dati OverridableTokenClientConfig.

Proprietà
scope (Facoltativo) Un elenco di ambiti delimitato da spazi che identificano le risorse a cui la tua applicazione potrebbe accedere per conto dell'utente. Questi valori delineano la schermata per il consenso che Google mostra all'utente.
include_granted_scopes Facoltativo: il valore predefinito è true. Consente alle applicazioni di utilizzare l'autorizzazione incrementale per richiedere l'accesso ad ambiti aggiuntivi nel contesto. Se imposti il valore di questo parametro su false e la richiesta di autorizzazione viene concessa, il nuovo token di accesso coprirà solo gli ambiti per cui scope richiede questo elemento OverridableTokenClientConfig. Nota: il valore enable_serial_consent deve essere impostato su true affinché questo venga applicato. In caso contrario, requestAccessToken ignora qualsiasi valore di include_granted_scopes.
prompt (Facoltativo) Un elenco di richieste di presentazione dell'utente, delimitati da maiuscole e minuscole.
enable_serial_consent (Facoltativo) Se è impostata su false, le autorizzazioni dell'Account Google più granulari saranno disattivate per i clienti creati prima del 2019. Nessun effetto per i nuovi clienti, poiché per loro sono sempre attivate autorizzazioni più granulari.
hint (Facoltativo) Se la tua applicazione sa quale utente deve autorizzare la richiesta, può utilizzare questa proprietà per fornire un suggerimento a Google. L'indirizzo email dell'utente di destinazione. Per ulteriori informazioni, vedi il campo login_hint nella documentazione di OpenID Connect.
state (Facoltativo) Non consigliati. Specifica qualsiasi valore stringa utilizzato dall'applicazione per mantenere lo stato tra la richiesta di autorizzazione e la risposta del server di autorizzazione.

Tipo di dati: TokenResponse

Un oggetto JavaScript TokenResponse verrà passato al metodo di callback nell'UX del popup.

La seguente tabella elenca le proprietà del tipo di dati TokenResponse.

Proprietà
access_token Il token di accesso per una risposta al token riuscita.
expires_in La durata in secondi del token di accesso.
hd Il dominio ospitato a cui appartiene l'utente che ha eseguito l'accesso.
prompt Il valore prompt utilizzato dal possibile elenco di valori specificati da TokenClientConfig o OverridableTokenClientConfig.
token_type Il tipo del token emesso.
scope Un elenco di ambiti delimitato da spazi approvato dall'utente.
state Il valore stringa utilizzato dall'applicazione per mantenere lo stato tra la richiesta di autorizzazione e la risposta.
error Un singolo codice di errore ASCII.
error_description Testo ASCII leggibile da parte degli utenti che fornisce informazioni aggiuntive, utilizzato per aiutare lo sviluppatore client a comprendere l'errore che si è verificato.
error_uri Un URI che identifica una pagina web facilmente leggibile con informazioni sull'errore, utilizzata per fornire allo sviluppatore client informazioni aggiuntive sull'errore.

Metodo: google.accounts.oauth2.hasGrantedAllScopes

Verifica se l'utente ha concesso tutti gli ambiti specificati.

google.accounts.oauth2.hasGrantedAllScopes(
                                            tokenResponse: TokenResponse,
                                            firstScope: string, ...restScopes: string[]
                                          ): boolean;
Argomenti
tokenResponse TokenResponse Obbligatorio. Un oggetto TokenResponse.
firstScope string Obbligatorio. L'ambito da controllare.
restScopes stringa[] (Facoltativo) Altri ambiti da controllare.
Valori restituiti
boolean True se tutti gli ambiti sono concessi.

Metodo: google.accounts.oauth2.hasGrantedQualsiasiScope

Verifica se l'utente ha concesso uno o più degli ambiti specificati.

google.accounts.oauth2.hasGrantedAnyScope(
                                           tokenResponse: TokenResponse,
                                           firstScope: string, ...restScopes: string[]
                                         ): boolean;
Argomenti
tokenResponse TokenResponse Obbligatorio. Un oggetto TokenResponse.
firstScope string Obbligatorio. L'ambito da controllare.
restScopes stringa[] (Facoltativo) Altri ambiti da controllare.
Valori restituiti
boolean True se viene concesso uno qualsiasi degli ambiti.

Metodo: google.accounts.oauth2.revoke

Il metodo revoke revoca tutti gli ambiti che l'utente ha concesso all'app. Per revocare l'autorizzazione è necessario un token di accesso valido.

google.accounts.oauth2.revoke(accessToken: string, done: () => void): void;
Argomenti
accessToken string Obbligatorio. Un token di accesso valido.
done funzione (Facoltativo) Funzione di callback al termine dell'azione.