Riferimento all'API JavaScript per l'autorizzazione dell'Account Google

Questo riferimento descrive l'API JavaScript di autorizzazione dell'Account Google, utilizzata per ottenere codici di autorizzazione o token di accesso 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 tabella seguente elenca le proprietà del tipo di dati CodeClientConfig.

Proprietà
client_id Obbligatorio. L'ID client della tua applicazione. Puoi trovare questo valore nella console API.
scope Obbligatorio. Un elenco delimitato da spazi degli ambiti che identificano le risorse a cui la tua applicazione potrebbe accedere per conto dell'utente. Questi valori informano 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 richiesti da scope in questo CodeClientConfig.
redirect_uri Obbligatorio per l'esperienza utente di reindirizzamento. Determina dove il server API reindirizza l'utente dopo che ha completato il flusso di autorizzazione. Il valore deve corrispondere esattamente a uno degli URI di reindirizzamento autorizzati per il client OAuth 2.0, che hai configurato nella console API e deve essere conforme alle nostre regole di convalida dell'URI di reindirizzamento. La proprietà verrà ignorata dall'esperienza utente del popup.
callback Obbligatorio per l'esperienza utente dei popup. La funzione JavaScript che gestisce la risposta del codice restituito. La proprietà verrà ignorata dall'esperienza utente di reindirizzamento.
state (Facoltativo) Consigliato per l'esperienza utente di 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_granular_consent Obsoleto, non ha effetto se impostato. Per i dettagli sul comportamento del consenso, consulta la sezione autorizzazioni granulari.
enable_serial_consent Obsoleto, non ha effetto se impostato. Per i dettagli sul comportamento del consenso, consulta la sezione autorizzazioni granulari.
login_hint (Facoltativo) Se la tua applicazione sa quale utente deve autorizzare la richiesta, può utilizzare questa proprietà per fornire un suggerimento per l'accesso a Google. In caso di esito positivo, la selezione dell'account viene ignorata. Il valore del campo sub dell'indirizzo email o del token ID per l'utente di destinazione. Per saperne di più, consulta il campo login_hint nella documentazione di OpenID Connect.
hd (Facoltativo) Se la tua applicazione conosce il dominio Workspace a cui appartiene l'utente, utilizzalo per fornire un suggerimento a Google. In caso di esito positivo, gli account utente sono limitati al dominio fornito o preselezionati per questo. Per saperne di più, consulta il campo hd nella documentazione di OpenID Connect.
ux_mode (Facoltativo) La modalità UX da utilizzare per il flusso di autorizzazione. Per impostazione predefinita, il flusso di consenso si apre in un popup. I valori validi sono popup e redirect.
select_account Facoltativo, il valore predefinito è "false". Valore booleano per chiedere all'utente di selezionare un account.
error_callback (Facoltativo) La funzione JavaScript che gestisce alcuni errori non OAuth, ad esempio l'apertura della finestra popup non è riuscita o è stata chiusa prima della restituzione di una risposta OAuth.

Il campo "type" del parametro di input fornisce il motivo dettagliato.
  • popup_failed_to_open Impossibile aprire la finestra popup.
  • popup_closed La finestra popup viene chiusa prima che venga restituita una risposta OAuth.
  • unknown Segnaposto per altri errori.

Tipo di dati: CodeClient

La classe ha un solo metodo pubblico, requestCode, che avvia il flusso UX del codice OAuth 2.0.

interface CodeClient {
  requestCode(): void;
}

Tipo di dati: CodeResponse

Un oggetto JavaScript CodeResponse verrà passato al metodo callback nell'esperienza utente del popup. Nell'esperienza utente di reindirizzamento, CodeResponse verrà trasmesso come parametri dell'URL.

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

Proprietà
code Il codice di autorizzazione di una risposta del token riuscita.
scope Un elenco delimitato da spazi degli ambiti approvati 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 che fornisce informazioni aggiuntive, utilizzato per aiutare lo sviluppatore del client a comprendere l'errore che si è verificato.
error_uri Un URI che identifica una pagina web leggibile con informazioni sull'errore, utilizzato 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 tabella seguente elenca le proprietà del tipo di dati TokenClientConfig.

Proprietà
client_id Obbligatorio. L'ID client della tua applicazione. Puoi trovare questo valore nella console API.
callback Obbligatorio. La funzione JavaScript che gestisce la risposta del token restituito.
scope Obbligatorio. Un elenco delimitato da spazi degli ambiti che identificano le risorse a cui la tua applicazione potrebbe accedere per conto dell'utente. Questi valori informano 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 richiesti da scope in questo TokenClientConfig.
prompt Facoltativo, il valore predefinito è 'select_account'. Un elenco di prompt separati da spazi e sensibili alle maiuscole e minuscole da presentare all'utente. I valori possibili sono:
  • stringa vuota: all'utente verrà chiesto l'accesso solo la prima volta che la tua app lo richiede. Non può essere specificato con altri valori.
  • "none" Non visualizzare schermate di autenticazione o consenso. Non deve essere specificato con altri valori.
  • "consent": chiede all'utente il consenso.
  • 'select_account' Chiedi all'utente di selezionare un account.
enable_granular_consent Obsoleto, non ha effetto se impostato. Per i dettagli sul comportamento del consenso, consulta la sezione autorizzazioni granulari.
enable_serial_consent Obsoleto, non ha effetto se impostato. Per i dettagli sul comportamento del consenso, consulta la sezione autorizzazioni granulari.
login_hint (Facoltativo) Se la tua applicazione sa quale utente deve autorizzare la richiesta, può utilizzare questa proprietà per fornire un suggerimento per l'accesso a Google. In caso di esito positivo, la selezione dell'account viene ignorata. Il valore del campo sub dell'indirizzo email o del token ID per l'utente di destinazione. Per saperne di più, consulta il campo login_hint nella documentazione di OpenID Connect.
hd (Facoltativo) Se la tua applicazione conosce il dominio Workspace a cui appartiene l'utente, utilizzalo per fornire un suggerimento a Google. In caso di esito positivo, gli account utente sono limitati al dominio fornito o preselezionati per questo. Per saperne di più, consulta il campo hd nella documentazione di OpenID Connect.
state (Facoltativo) Opzione sconsigliata. 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 l'apertura della finestra popup non è riuscita o è stata chiusa prima della restituzione di una risposta OAuth.

Il campo "type" del parametro di input fornisce il motivo dettagliato.
  • popup_failed_to_open Impossibile aprire la finestra popup.
  • popup_closed La finestra popup viene chiusa prima che venga restituita una risposta OAuth.
  • unknown Segnaposto per altri errori.

Tipo di dati: TokenClient

La classe ha un solo metodo pubblico requestAccessToken, che avvia il flusso UX del token OAuth 2.0.

interface TokenClient {
  requestAccessToken(overrideConfig?: OverridableTokenClientConfig): void;
}
Argomenti
overrideConfig OverridableTokenClientConfig (Facoltativo) Le configurazioni da sostituire in questo metodo.

Tipo di dati: OverridableTokenClientConfig

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

Proprietà
scope (Facoltativo) Un elenco delimitato da spazi di ambiti che identificano le risorse a cui la tua applicazione potrebbe accedere per conto dell'utente. Questi valori comunicano alla schermata di 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 richiesti da scope in questo OverridableTokenClientConfig.
prompt (Facoltativo) Un elenco di prompt sensibili alle maiuscole e minuscole separati da spazi da presentare all'utente.
enable_granular_consent Obsoleto, non ha effetto se impostato. Per i dettagli sul comportamento del consenso, consulta la sezione autorizzazioni granulari.
enable_serial_consent Obsoleto, non ha effetto se impostato. Per i dettagli sul comportamento del consenso, consulta la sezione autorizzazioni granulari.
login_hint (Facoltativo) Se la tua applicazione sa quale utente deve autorizzare la richiesta, può utilizzare questa proprietà per fornire un suggerimento per l'accesso a Google. In caso di esito positivo, la selezione dell'account viene ignorata. Il valore del campo sub dell'indirizzo email o del token ID per l'utente di destinazione. Per saperne di più, consulta il campo login_hint nella documentazione di OpenID Connect.
state (Facoltativo) Opzione sconsigliata. 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'esperienza utente del popup.

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

Proprietà
access_token Il token di accesso di 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 del prompt utilizzato dall'elenco di valori possibili specificato da TokenClientConfig o OverridableTokenClientConfig.
token_type Il tipo di token emesso.
scope Un elenco delimitato da spazi degli ambiti approvati 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 che fornisce informazioni aggiuntive, utilizzato per aiutare lo sviluppatore del client a comprendere l'errore che si è verificato.
error_uri Un URI che identifica una pagina web leggibile con informazioni sull'errore, utilizzato per fornire allo sviluppatore client informazioni aggiuntive sull'errore.

Metodo: google.accounts.oauth2.hasGrantedAllScopes

Controlla 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 stringa Obbligatorio. L'ambito da controllare.
restScopes string[] (Facoltativo) Altri ambiti da controllare.
Resi
booleano True se tutti gli ambiti sono concessi.

Metodo: google.accounts.oauth2.hasGrantedAnyScope

Controlla se l'utente ha concesso uno degli ambiti specificati.

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

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 stringa Obbligatorio. Un token di accesso valido.
callback funzione (Facoltativo) Gestore RevocationResponse.

Tipo di dati: RevocationResponse

Un oggetto JavaScript RevocationResponse verrà passato al tuo metodo di callback.

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

Proprietà
successful Booleano. true in caso di esito positivo, false in caso di esito negativo.
error Stringa. Non definito in caso di esito positivo. Un singolo codice di errore ASCII. Sono inclusi, a titolo esemplificativo, i codici di errore OAuth 2.0 standard. Errori comuni per il metodo revoke:
  • invalid_token - Il token è già scaduto o revocato prima della chiamata al metodo revoke. Nella maggior parte dei casi, la concessione associata al accessToken viene revocata.
  • invalid_request - Il token non è revocabile. Assicurati che accessToken sia una credenziale OAuth 2.0 di Google valida.
error_description Stringa. Non definito in caso di esito positivo. Il testo ASCII leggibile fornisce informazioni aggiuntive sulla proprietà error. Gli sviluppatori possono utilizzare queste informazioni per comprendere meglio l'errore che si è verificato. La stringa error_description è solo in inglese. Per gli errori comuni elencati in error error_description corrispondente:
  • invalid_token - Token scaduto o revocato.
  • invalid_request - Il token non è revocabile.