Libreria JavaScript dell'autorizzazione di terze parti di Google per i siti web - Riferimento API

Questo riferimento descrive l'API della libreria JavaScript di autorizzazione di terze parti di Google, che puoi utilizzare per caricare codici di autorizzazione o token di accesso di Google.

Metodo: google.accounts.oauth2.initCodeClient

Il metodo initCodeClient inizializza e restituisce un client di codice, con il 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 dell'applicazione. Puoi trovare questo valore nella console API.
scope Obbligatorio. Un elenco di ambiti delimitati da spazi che identificano le risorse a cui l'applicazione potrebbe accedere per conto dell'utente. Questi valori determinano la schermata di consenso che Google mostra all'utente.
include_granted_scopes Facoltativo, il valore predefinito è true. Consente alle applicazioni di usare per richiedere l'accesso ad ambiti aggiuntivi nel contesto. Se imposti valore di questo parametro su false e la richiesta di autorizzazione viene accolta, il nuovo token di accesso coprirà solo gli ambiti a cui scope ha richiesto in questo CodeClientConfig.
redirect_uri Obbligatorio per l'esperienza utente di reindirizzamento. Determina dove il server API reindirizza l'utente dopo che questo 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 popup.
callback Obbligatorio per l'esperienza utente popup. La funzione JavaScript che gestisce la risposta del codice restituita. La proprietà verrà ignorata dall'esperienza utente di reindirizzamento.
state (Facoltativo) Consigliata per l'esperienza utente di reindirizzamento. Specifica un valore stringa utilizzato dall'applicazione per mantenere lo stato tra la richiesta di autorizzazione e la risposta del server di autorizzazione.
enable_granular_consent Facoltativo, il valore predefinito è true. Se impostato su false, autorizzazioni dell'Account Google più granulari verrà disattivato per gli ID client OAuth creati prima del 2019. Se enable_granular_consent e enable_serial_consent sono impostati, solo enable_granular_consent diventa effettivo, mentre il valore enable_serial_consent viene ignorato.

Nessun effetto sugli ID client OAuth più recenti, poiché per questi ID sono sempre abilitate autorizzazioni più granulari.
enable_serial_consent Deprecato, devi usare invece enable_granular_consent. Questo ha lo stesso effetto di enable_granular_consent. Applicazioni esistenti che utilizzano enable_serial_consent possono continuare a farlo, ma tu ti invitiamo ad aggiornare il tuo codice per utilizzare enable_granular_consent in al prossimo aggiornamento dell'applicazione.
login_hint (Facoltativo) Se la tua applicazione sa quale utente deve autorizzare la richiesta, può utilizzare questa proprietà per fornire un suggerimento di accesso a Google. Se l'operazione ha esito positivo, la selezione dell'account viene saltata. Il valore del campo secondario del token ID o dell'indirizzo email 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, utilizza questo dato per fornire un suggerimento a Google. Se l'operazione ha esito positivo, gli account utente sono limitati o preselezionati per il dominio fornito. 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 aprirà in un popup. I valori validi sono popup e redirect.
select_account Facoltativo, il valore predefinito è 'false'. Valore booleano per richiedere all'utente di selezionare un account.
error_callback (Facoltativo) La funzione JavaScript che gestisce alcuni errori non OAuth, ad esempio finestra popup non aperta; o chiuso prima che una risposta OAuth restituito.

Il campo "type" del parametro di input fornisce il motivo dettagliato.
  • popup_failed_to_open La finestra popup non si è aperta.
  • popup_closed La finestra popup viene chiusa prima di un OAuth la risposta predefinita.
  • unknown Segnaposto per altri errori.

Tipo di dati: CodeClient

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

interface CodeClient {
  requestCode(): void;
}

Tipo di dati: CodeResponse

Un oggetto JavaScript CodeResponse verrà passato al tuo metodo callback in nella UX popup. Nell'esperienza utente di reindirizzamento, CodeResponse verrà trasmesso come URL. parametri.

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

Proprietà
code Il codice di autorizzazione di una risposta del token riuscita.
scope Un elenco di ambiti delimitati da spazi 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, utilizzate per aiutare lo sviluppatore del client a comprendere l'errore che si è verificato.
error_uri Un URI che identifica una pagina web leggibile contenente informazioni sull'errore, utilizzato per fornire allo sviluppatore del client informazioni aggiuntive sull'errore.

Metodo: google.accounts.oauth2.initTokenClient

Il metodo initTokenClient inizializza e restituisce un client token, con il 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 dell'applicazione. Puoi trovare questo valore nella console API.
callback Obbligatorio. La funzione JavaScript che gestisce la risposta del token restituita.
scope Obbligatorio. Un elenco di ambiti delimitati da spazi che identificano le risorse a cui l'applicazione potrebbe accedere per conto dell'utente. Questi valori determinano la schermata di consenso che Google mostra all'utente.
include_granted_scopes Facoltativo, il valore predefinito è true. Consente alle applicazioni di usare per richiedere l'accesso ad ambiti aggiuntivi nel contesto. Se imposti valore di questo parametro su false e la richiesta di autorizzazione viene accolta, il nuovo token di accesso coprirà solo gli ambiti a cui scope ha richiesto in questo TokenClientConfig.
prompt (Facoltativo) Il valore predefinito è 'select_account'. Delimitato da spazi, delle richieste da presentare all'utente con distinzione tra maiuscole e minuscole. I valori possibili sono:
  • stringa vuota All'utente verrà richiesto l'accesso solo la prima volta che l'app richiede l'accesso. Non può essere specificato con altri valori.
  • 'none' Non visualizzare le schermate di autenticazione o di consenso. Non deve essere specificato insieme ad altri valori.
  • 'consent' Consente di chiedere all'utente il consenso.
  • 'select_account'. Chiedi all'utente di selezionare un account.
enable_granular_consent Facoltativo, il valore predefinito è true. Se impostato su false, autorizzazioni dell'Account Google più granulari verrà disattivato per gli ID client OAuth creati prima del 2019. Se enable_granular_consent e enable_serial_consent sono impostati, solo enable_granular_consent diventa effettivo, mentre il valore enable_serial_consent viene ignorato.

Nessun effetto sugli ID client OAuth più recenti, poiché per questi ID sono sempre abilitate autorizzazioni più granulari.
enable_serial_consent Deprecato, devi usare invece enable_granular_consent. Questo ha lo stesso effetto di enable_granular_consent. Applicazioni esistenti che utilizzano enable_serial_consent possono continuare a farlo, ma tu ti invitiamo ad aggiornare il tuo codice per utilizzare enable_granular_consent in al prossimo aggiornamento dell'applicazione.
login_hint (Facoltativo) Se la tua applicazione sa quale utente deve autorizzare la richiesta, può utilizzare questa proprietà per fornire un suggerimento di accesso a Google. Se l'operazione ha esito positivo, la selezione dell'account viene saltata. Il valore del campo secondario del token ID o dell'indirizzo email 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, utilizza questo dato per fornire un suggerimento a Google. Se l'operazione ha esito positivo, gli account utente sono limitati o preselezionati per il dominio fornito. Per saperne di più, consulta il campo hd nella documentazione di OpenID Connect.
state (Facoltativo) Non consigliati. Specifica un 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 finestra popup non aperta; o chiuso prima che una risposta OAuth restituito.

Il campo "type" del parametro di input fornisce il motivo dettagliato.
  • popup_failed_to_open La finestra popup non si è aperta.
  • popup_closed La finestra popup viene chiusa prima di un OAuth la risposta predefinita.
  • 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 seguente tabella elenca le proprietà dell'elemento OverridableTokenClientConfig tipo di dati.

Proprietà
scope (Facoltativo) Un elenco di ambiti delimitati da spazi che identificano le risorse a cui la tua applicazione potrebbe accedere per conto dell'utente. Questi valori la schermata per il consenso che Google mostra all'utente.
include_granted_scopes Facoltativo, il valore predefinito è true. Consente alle applicazioni di usare per richiedere l'accesso ad ambiti aggiuntivi nel contesto. Se imposti valore di questo parametro su false e la richiesta di autorizzazione viene accolta, il nuovo token di accesso coprirà solo gli ambiti a cui scope ha richiesto in questo OverridableTokenClientConfig.
prompt (Facoltativo) Un elenco di richieste per presentare all'utente, delimitato da spazi, e sensibile alle maiuscole.
enable_granular_consent Facoltativo, il valore predefinito è true. Se impostato su false, autorizzazioni dell'Account Google più granulari verrà disattivato per gli ID client OAuth creati prima del 2019.Se enable_granular_consent e enable_serial_consent sono impostati, solo enable_granular_consent entrerà in vigore, mentre il valore di enable_serial_consent verrebbe ignorato.

Nessun effetto sugli ID client OAuth più recenti, poiché per questi ID sono sempre abilitate autorizzazioni più granulari.
enable_serial_consent Deprecato, devi usare invece enable_granular_consent. Questo ha lo stesso effetto di enable_granular_consent. Applicazioni esistenti che utilizzano enable_serial_consent possono continuare a farlo, ma tu ti invitiamo ad aggiornare il tuo codice per utilizzare enable_granular_consent in al prossimo aggiornamento dell'applicazione.
login_hint (Facoltativo) Se la tua applicazione sa quale utente deve autorizzare la richiesta, può utilizzare questa proprietà per fornire un suggerimento di accesso a Google. Se l'operazione ha esito positivo, la selezione dell'account viene saltata. Il valore del campo secondario del token ID o dell'indirizzo email per l'utente di destinazione. Per saperne di più, consulta il campo login_hint nella documentazione di OpenID Connect.
state (Facoltativo) Non consigliati. Specifica un 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 tuo metodo di callback in nella UX popup.

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

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

Metodo: google.accounts.oauth2.hasGrantedAllScopes

Controlla se l'utente ha concesso tutti gli ambiti o tutti gli ambiti specificati.

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

Metodo: google.accounts.oauth2.hasGrantedAnyScope

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

google.accounts.oauth2.hasGrantedAnyScope(
                                           tokenResponse: TokenResponse,
                                           firstScope: string, ...restScopes: string[]
                                         ): boolean;
Argomenti
tokenResponse TokenResponse Obbligatorio. Un TokenResponse .
firstScope stringa Obbligatorio. L'ambito da verificare.
restScopes stringa[] (Facoltativo) Altri ambiti da verificare.
Resi
booleano True 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

Al tuo metodo di callback verrà passato un oggetto JavaScript RevocationResponse.

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

Proprietà
successful Booleano. true in caso di riuscito, false in caso di errore.
error Stringa. Indefinito per ottenere risultati ottimali. Un singolo codice di errore ASCII. Questo include, a titolo esemplificativo, il codice OAuth standard 2.0. Errori comuni per il metodo revoke:
  • invalid_token: il token è già scaduto o revocato prima che venga chiamato il metodo revoke. Nella maggior parte dei casi, puoi esaminare la donazione associata accessToken è stato revocato.
  • invalid_request - Il token non è revocabile. Devi assicurarti accessToken è una credenziale Google OAuth 2.0 valida.
error_description Stringa. Indefinito per ottenere risultati ottimali. Il testo ASCII leggibile fornisce ulteriori informazioni error proprietà. Gli sviluppatori possono utilizzare questo dato per capire meglio l'errore che si è verificato. La stringa error_description è solo in inglese. Per gli errori comuni elencati in error, le error_description corrispondenti:
    .
  • invalid_token - Token scaduto o revocato.
  • invalid_request - Il token non è revocabile.