Questa pagina descrive l'implementazione di Google come provider OpenID Connect e fornisce il riferimento tecnico per gli endpoint OIDC di Google. La specifica OpenID Connect (OIDC) Core 1.0 definisce il protocollo per autenticare gli utenti e ottenere informazioni sull'identità.
Questo riferimento non ha lo scopo di fornire istruzioni passo passo su come implementare OIDC. Per i dettagli di implementazione, consulta la guida OpenID Connect.
Documento di rilevamento
Il documento di rilevamento contiene i metadati sulla configurazione OpenID Connect di Google come definito nella specifica OpenID Connect Discovery 1.0.
URL: https://accounts.google.com/.well-known/openid-configuration
Metodo di richiesta supportato: GET
Corpo della risposta
I campi della risposta vengono restituiti in un oggetto JSON nel corpo della risposta HTTP alla richiesta GET del richiedente a https://accounts.google.com/.well-known/openid-configuration.
| Campo | Tipo | Descrizione |
|---|---|---|
issuer |
string |
L'identificatore dell'emittente. URL sensibile alle maiuscole utilizzando lo schema https. Il valore moderno è https://accounts.google.com; tuttavia, accounts.google.com viene restituito anche per le implementazioni legacy. |
authorization_endpoint |
string |
L'URL dell'endpoint di autorizzazione. |
device_authorization_endpoint |
string |
L'URL dell'endpoint di autorizzazione del dispositivo. |
token_endpoint |
string |
L'URL dell'endpoint token. |
userinfo_endpoint |
string |
L'URL dell'endpoint UserInfo. |
revocation_endpoint |
string |
L'URL dell'endpoint di revoca. |
jwks_uri |
string |
L'URL del documento JSON Web Key Set (JWKS). |
response_types_supported |
array |
Un elenco dei valori response_type supportati. |
response_modes_supported |
array |
Un elenco dei valori response_mode supportati. |
authorization_response_iss_parameter_supported |
boolean |
Valore booleano che indica il supporto per RFC 9207. |
subject_types_supported |
array |
Un elenco dei tipi di identificatori del soggetto supportati. |
id_token_signing_alg_values_supported |
array |
Un elenco degli algoritmi supportati per la firma del token ID. |
scopes_supported |
array |
Un elenco di valori di ambito supportati. |
claims_supported |
array |
Un elenco delle rivendicazioni supportate. |
token_endpoint_auth_methods_supported |
array |
Un elenco dei metodi di autenticazione supportati per l'endpoint token. |
code_challenge_methods_supported |
array |
Un elenco di metodi di verifica del codice supportati per PKCE. |
grant_types_supported |
array |
Un elenco dei tipi di autorizzazione OAuth 2.0 supportati. |
Token ID (rivendicazioni)
Il valore id_token restituito nelle risposte è un token web JSON (JWT) firmato che
deve essere verificato utilizzando il materiale di gestione delle chiavi ottenuto da jwks_uri presente
nel documento di scoperta. La tabella seguente descrive i contenuti del payload del token ID decodificato.
| Richiedi | Tipo | Descrizione |
|---|---|---|
iss |
string |
Obbligatorio. L'identificatore dell'emittente della risposta. In genere https://accounts.google.com; tuttavia, per le implementazioni precedenti viene restituito anche accounts.google.com. |
sub |
string |
Obbligatorio. Un identificatore per l'utente, univoco tra tutti gli Account Google e mai riutilizzato. Un Account Google può avere più indirizzi email in momenti diversi, ma il valore di sub non viene mai modificato. Utilizza sub all'interno dell'applicazione come chiave identificatore univoco per l'utente. Lunghezza massima di 255 caratteri ASCII sensibili alle maiuscole. |
azp |
string |
L'identificatore client del presentatore autorizzato, ottenuto dalla console Google Cloud. Questa rivendicazione è necessaria solo quando la parte che richiede il token ID non corrisponde al pubblico del token ID. |
aud |
string |
Obbligatorio. Il pubblico a cui è destinato il token ID. Si tratta dell'identificatore client della tua applicazione, ottenuto dalla console Google Cloud. |
iat |
integer |
Obbligatorio. L'ora in cui è stato emesso il token ID. Rappresentato in secondi del tempo Unix epoch (numero intero). |
exp |
integer |
Obbligatorio. Ora di scadenza a partire dalla quale il token ID non deve essere accettato. Rappresentato in secondi del tempo Unix epoch (numero intero). |
nonce |
string |
Il valore di nonce fornito dalla tua app nella richiesta di autenticazione. Devi proteggerti dagli attacchi di replay presentando questo valore una sola volta. |
auth_time |
integer |
L'ora in cui è avvenuta l'autenticazione dell'utente, un numero JSON che rappresenta il numero di secondi trascorsi dall'epoca di Unix (1° gennaio 1970, ore 00:00:00 UTC). Fornito quando l'attestazione auth_time è inclusa nel parametro claims della richiesta di autenticazione. |
at_hash |
string |
Hash del token di accesso. Fornisce la convalida che il token di accesso è collegato al token ID. Se il token ID viene emesso con un valore access_token nel flusso server, questa rivendicazione è sempre inclusa. |
email |
string |
L'indirizzo email dell'utente. Fornito solo se hai incluso l'ambito email nella richiesta. Il valore di questa rivendicazione potrebbe non essere univoco per questo account e potrebbe cambiare nel tempo, pertanto non devi utilizzarlo come identificatore principale per il collegamento al record utente. Inoltre, non puoi fare affidamento al dominio dell'attestazione email per identificare gli utenti delle organizzazioni Google Workspace o Cloud; utilizza invece l'attestazione hd. Avviso: non utilizzare l'indirizzo email come identificatore perché un Account Google può avere più indirizzi email in momenti diversi. Utilizza sempre il campo sub come identificatore dell'utente. |
email_verified |
boolean |
Vero se l'indirizzo email dell'utente è stato verificato; falso in caso contrario. |
name |
string |
Il nome completo dell'utente, in un formato visualizzabile. Potrebbe essere fornito quando l'ambito della richiesta includeva la stringa profile o il token ID viene restituito da un aggiornamento del token. |
picture |
string |
L'URL dell'immagine del profilo dell'utente. Potrebbe essere fornito quando l'ambito della richiesta includeva la stringa profile o il token ID viene restituito da un aggiornamento del token. |
given_name |
string |
Il nome o i nomi dell'utente. Potrebbe essere fornito quando è presente una rivendicazione name. |
family_name |
string |
Il cognome o i cognomi dell'utente. Potrebbe essere fornito quando è presente una rivendicazione name. |
hd |
string |
Il dominio associato all'organizzazione Google Workspace o Cloud dell'utente. Fornito solo se l'utente appartiene a un'organizzazione Google Cloud. Devi selezionare questa rivendicazione quando limiti l'accesso a una risorsa solo ai membri di determinati domini. L'assenza di questa rivendicazione indica che l'account non appartiene a un dominio ospitato da Google. |
Endpoint di autorizzazione
L'endpoint di autorizzazione viene utilizzato per autenticare l'utente e ottenere un codice di autorizzazione o token.
URL: https://accounts.google.com/o/oauth2/v2/auth
Metodi di richiesta supportati: GET, POST
Parametri di richiesta
| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
client_id |
string |
Obbligatorio | La stringa dell'identificatore client ottenuta dalla console Google Cloud. |
nonce |
string |
Facoltativo | Un valore casuale generato dalla tua app che consente la protezione dal replay. Obbligatorio solo se viene richiesto un token ID (quando response_type include id_token). |
response_type |
string |
Obbligatorio | Determina il flusso da utilizzare. Se il valore è code, avvia un flusso del codice di autorizzazione, richiedendo un POST all'endpoint token per ottenere i token. Se il valore è token, id_token, token id_token o id_token token, viene avviato un flusso implicito, che richiede l'utilizzo di JavaScript nell'URI di reindirizzamento per recuperare i token dal frammento URI. L'utilizzo di token in qualsiasi modulo è fortemente sconsigliato, in quanto espone i token di accesso nell'URL. Questo valore è vietato in OAuth 2.1. |
response_mode |
string |
Facoltativo | Specifica la modalità di invio della risposta di autorizzazione. Se response_type è code, il valore predefinito è query. Per gli altri tipi di risposta, il valore predefinito è fragment. Valori supportati: query, fragment, form_post. |
redirect_uri |
string |
Obbligatorio | Determina dove viene inviata la risposta. Il valore di questo parametro deve corrispondere esattamente a uno dei valori di reindirizzamento autorizzati che hai impostato nella console Google Cloud (inclusi lo schema HTTP o HTTPS, le maiuscole e minuscole e la barra "/" finale, se presente). Gli URI di reindirizzamento e le origini JavaScript autorizzate devono rispettare le regole di convalida descritte nella documentazione Convalida URI OAuth 2.0. |
scope |
string |
Obbligatorio | Un elenco non ordinato di ambiti delimitati da spazi. L'elenco deve includere il valore openid e poi il valore profile, il valore email o entrambi. Puoi anche includere ambiti non OIDC. Se è presente il valore dell'ambito profile, il token ID potrebbe (ma non è garantito) includere le rivendicazioni profile predefinite dell'utente. Se è presente il valore dell'ambito email, il token ID include le rivendicazioni email e email_verified. Per saperne di più, consulta Ambiti OAuth 2.0. |
state |
string |
Consigliato | Una stringa opaca che viene inviata e ricevuta nel protocollo, ovvero viene restituita come parametro URI nel flusso del codice di autorizzazione e nel frammento URI nel flusso implicito. state può essere utile per correlare richieste e risposte. Poiché il tuo redirect_uri può essere indovinato, l'utilizzo di un valore state può aumentare la certezza che una connessione in entrata sia il risultato di una richiesta di autenticazione avviata dalla tua app. In questo modo, viene fornita protezione da attacchi come il cross-site request forgery. |
access_type |
string |
Facoltativo | I valori consentiti sono offline e online. Se la tua applicazione deve aggiornare i token di accesso quando l'utente non è presente nel browser, utilizza offline. Questo valore è necessario per ottenere un token di aggiornamento restituito. |
hd |
string |
Facoltativo | Semplifica la procedura di accesso per gli account di proprietà di un'organizzazione Google Cloud. Se includi il dominio dell'organizzazione Google Cloud (ad esempio mycollege.edu), puoi indicare che l'interfaccia utente di selezione dell'account deve essere ottimizzata per gli account di quel dominio. Per eseguire l'ottimizzazione per gli account organizzazione Google Cloud in generale anziché per un solo dominio dell'organizzazione Google Cloud, imposta un valore asterisco (*): hd=*. |
login_hint |
string |
Facoltativo | Quando la tua app sa quale utente sta tentando di autenticare, può fornire questo parametro come suggerimento al server di autenticazione. Il passaggio di questo suggerimento sopprime il Selettore account e precompila la casella email nel modulo di accesso o seleziona la sessione corretta, il che può aiutarti a evitare problemi che si verificano se la tua app accede all'account utente errato. Il valore può essere un indirizzo email o la stringa sub, che equivale all'ID Google dell'utente. |
prompt |
string |
Facoltativo | Un elenco delimitato da spazi di valori stringa che specifica se il server di autorizzazione richiede all'utente la riautenticazione e il consenso. Valori possibili: none (nessuna UI), consent (richiesta di consenso), select_account (richiesta di selezione dell'account). |
hl |
string |
Facoltativo | Un tag di lingua BCP 47 utilizzato per specificare la lingua di visualizzazione per le schermate di accesso, di selezione dell'account e del consenso. L'utilizzo di questo parametro è sconsigliato, in quanto le impostazioni del browser e le preferenze dell'Account Google sono in genere indicatori migliori della lingua preferita dall'utente. |
include_granted_scopes |
boolean |
Facoltativo | Se questo parametro viene fornito con il valore true e la richiesta di autorizzazione viene concessa, l'autorizzazione includerà tutte le autorizzazioni precedenti concesse a questa combinazione utente/applicazione per altri ambiti. Vedi Autorizzazione incrementale. |
claims |
object |
Facoltativo | Il parametro claims viene utilizzato per specificare uno o più campi facoltativi da includere nella risposta UserInfo o nel token ID. Per richiedere la rivendicazione auth_time, utilizza claims={\"id_token\":{\"auth_time\":{\"essential\":true}}}. |
Parametri di risposta
La risposta di autorizzazione viene inviata all'URI di reindirizzamento del client
(redirect_uri) utilizzando un reindirizzamento HTTP GET. I parametri di risposta vengono aggiunti all'URI di reindirizzamento nella stringa di query o nel frammento di URL, a seconda di response_type e response_mode.
| Parametro | Tipo | Descrizione |
|---|---|---|
iss |
string |
L'identificatore dell'emittente. In base a RFC 9207, questo parametro viene sempre restituito e impostato su https://accounts.google.com. |
code |
string |
Il codice di autorizzazione che può essere scambiato con un token di accesso e un token ID. |
state |
string |
Lo stesso valore del parametro state della richiesta. |
id_token |
string |
Un token JWT (JSON Web Token) che contiene informazioni sull'identità dell'utente. |
access_token |
string |
Il token di accesso che può essere inviato a un'API di Google. |
token_type |
string |
Il tipo di token restituito. Sempre Bearer. |
expires_in |
integer |
La durata del token di accesso in secondi, rispetto al momento dell'emissione del token. |
scope |
string |
Gli ambiti di accesso concessi da code o access_token espressi come elenco di stringhe sensibili alle maiuscole e minuscole delimitate da spazi. |
error |
string |
Un codice di errore se la richiesta non è andata a buon fine. |
error_description |
string |
Una descrizione dell'errore se la richiesta non è andata a buon fine. |
Risposte di errore
Per l'endpoint di autorizzazione, gli errori vengono restituiti al
redirect_uri del client come parametri nella stringa di query o nel frammento di URL oppure vengono visualizzati
all'utente come pagina di errore ospitata da Google.
Errori reindirizzati
I seguenti codici di errore potrebbero essere restituiti al tuo redirect_uri:
| Errore | Descrizione |
|---|---|
access_denied |
L'utente o il server di autorizzazione ha negato la richiesta. |
invalid_request |
La richiesta non include un parametro obbligatorio, include un valore parametro non valido, include un parametro più di una volta o ha un formato errato. |
unauthorized_client |
Il client non è autorizzato a richiedere un codice di autorizzazione utilizzando questo metodo. |
unsupported_response_type |
Il server di autorizzazione non supporta l'ottenimento di un codice di autorizzazione utilizzando questo metodo. |
invalid_scope |
L'ambito richiesto non è valido, sconosciuto o ha un formato non corretto. |
Errori rivolti agli utenti
In alcuni casi, ad esempio quando client_id o redirect_uri non è valido, il server di autorizzazione non può reindirizzare in modo sicuro l'utente alla tua applicazione.
In questi casi, all'utente viene mostrata direttamente una pagina di errore.
| Errore | Descrizione |
|---|---|
admin_policy_enforced |
L'Account Google non è in grado di autorizzare uno o più ambiti richiesti a causa delle norme del suo amministratore di Google Workspace. Per saperne di più su come un amministratore può limitare l'accesso finché non viene concesso esplicitamente al tuo identificatore client OAuth, consulta l'articolo del Centro assistenza per gli amministratori di Google Workspace. |
disallowed_useragent |
L'endpoint di autorizzazione viene visualizzato all'interno di un user agent incorporato non consentito dalle norme OAuth 2.0 di Google. |
org_internal |
L'identificatore client OAuth nella richiesta fa parte di un progetto che limita l'accesso agli Account Google in una organizzazione Google Cloud specifica. |
deleted_client |
Il client OAuth utilizzato per effettuare la richiesta è stato eliminato. L'eliminazione può avvenire manualmente o automaticamente nel caso di client non utilizzati. |
invalid_grant |
Il parametro code_challenge non è valido o è mancante quando viene utilizzato PKCE. Quando aggiorni un token di accesso o utilizzi l'autorizzazione incrementale, il token potrebbe essere scaduto, invalidato o l'account utente potrebbe essere stato eliminato o disattivato. |
redirect_uri_mismatch |
redirect_uri passato nella richiesta non corrisponde a un URI di reindirizzamento autorizzato per l'identificatore client. Esamina gli URI di reindirizzamento autorizzati nella console Google Cloud. Questo errore può verificarsi anche se la richiesta utilizza il flusso OAuth out-of-band (OOB) ritirato. |
invalid_client |
L'origine da cui è stata effettuata la richiesta non è autorizzata per questo client, la configurazione del client non è corretta o il client secret OAuth non è corretto. |
origin_mismatch |
Lo schema, il dominio e/o la porta di JavaScript che ha generato la richiesta di autorizzazione non corrispondono a un URI di origine JavaScript autorizzato registrato per l'identificatore client OAuth. Esamina le origini JavaScript autorizzate nella console Google Cloud. |
invalid_request |
Si è verificato un problema con la richiesta. Ciò potrebbe essere dovuto a una richiesta non valida, a parametri obbligatori mancanti o all'utilizzo di un metodo di autorizzazione non supportato da Google. |
Endpoint token
L'endpoint token viene utilizzato per scambiare un codice di autorizzazione con un token di accesso e un token ID.
URL: https://oauth2.googleapis.com/token
Metodo di richiesta supportato: POST
Parametri di richiesta (concessione del codice di autorizzazione)
| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
code |
string |
Obbligatorio | Il codice di autorizzazione ricevuto dall'endpoint di autorizzazione. |
client_id |
string |
Obbligatorio | L'identificatore client per la tua applicazione, ottenuto dalla console Google Cloud. |
client_secret |
string |
Obbligatorio | Il client secret per la tua applicazione, ottenuto dalla console Google Cloud. |
redirect_uri |
string |
Obbligatorio | L'URI di reindirizzamento utilizzato nella richiesta di autorizzazione iniziale. Gli URI di reindirizzamento e le origini JavaScript autorizzate devono rispettare le regole di convalida descritte nella documentazione Convalida URI OAuth 2.0. |
grant_type |
string |
Obbligatorio | Deve essere impostato su authorization_code. |
Parametri di richiesta (flusso del dispositivo)
| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
client_id |
string |
Obbligatorio | L'identificatore client per la tua applicazione, ottenuto dalla console Google Cloud. |
client_secret |
string |
Obbligatorio | Il client secret per la tua applicazione, ottenuto dalla console Google Cloud. |
device_code |
string |
Obbligatorio | Il device_code restituito dall'endpoint di autorizzazione del dispositivo. |
grant_type |
string |
Obbligatorio | Deve essere impostato su urn:ietf:params:oauth:grant-type:device_code. |
Parametri di richiesta (aggiornamento di un token di accesso)
| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
client_id |
string |
Obbligatorio | L'identificatore client per la tua applicazione, ottenuto dalla console Google Cloud. |
client_secret |
string |
Obbligatorio | Il client secret per la tua applicazione, ottenuto dalla console Google Cloud. |
grant_type |
string |
Obbligatorio | Deve essere impostato su refresh_token come definito nella specifica OpenID Connect Refresh Tokens. |
refresh_token |
string |
Obbligatorio | Il token di aggiornamento restituito dallo scambio del codice di autorizzazione. |
scope |
string |
Facoltativo | Un elenco delimitato da spazi degli ambiti richiesti per il nuovo token di accesso. Gli ambiti richiesti devono essere un sottoinsieme degli ambiti concessi nella richiesta di autorizzazione originale. |
Corpo della risposta
I campi della risposta vengono restituiti in un oggetto JSON nel corpo della risposta HTTP alla richiesta POST del richiedente a https://oauth2.googleapis.com/token.
| Campo | Tipo | Descrizione |
|---|---|---|
access_token |
string |
Il token di accesso che può essere inviato a un'API di Google. |
expires_in |
integer |
La durata del token di accesso in secondi, rispetto al momento dell'emissione del token. |
id_token |
string |
Un token JWT (JSON Web Token) che contiene informazioni sull'identità dell'utente. Questo token viene restituito durante lo scambio iniziale del codice di autorizzazione e può essere restituito anche durante una richiesta di token di aggiornamento se è stato concesso l'ambito openid. |
scope |
string |
Gli ambiti di accesso concessi da access_token espressi come un elenco di stringhe sensibili alle maiuscole e minuscole delimitate da spazi. |
token_type |
string |
Il tipo di token restituito. Sempre Bearer. |
refresh_token |
string |
(Facoltativo) Un token che può essere utilizzato per ottenere nuovi token di accesso. Questo campo viene restituito solo nello scambio iniziale di un codice di autorizzazione se è stato richiesto access_type=offline. |
refresh_token_expires_in |
integer |
(Facoltativo) La durata rimanente del token di aggiornamento in secondi. Questo valore viene impostato solo quando l'utente concede l'accesso basato sul tempo. |
Risposte di errore
Se la richiesta non riesce, il server di autorizzazione restituisce un oggetto JSON con i seguenti campi:
| Campo | Tipo | Descrizione |
|---|---|---|
error |
string |
Un codice di errore. |
error_description |
string |
Una descrizione dell'errore se la richiesta non è andata a buon fine. |
La tabella seguente descrive i potenziali codici di errore e i relativi codici di stato HTTP:
| Errore | Codice di stato HTTP | Descrizione |
|---|---|---|
invalid_request |
400 |
Nella richiesta manca un parametro obbligatorio, è incluso un valore parametro non valido o il formato non è corretto. |
invalid_client |
401 |
L'autenticazione client non è riuscita. Ad esempio, client_id o client_secret non è valido oppure il tipo di client non è corretto. |
invalid_grant |
400 |
Il codice di autorizzazione, il token di aggiornamento o il codice dispositivo fornito non è valido, è scaduto, è stato revocato o non corrisponde all'URI di reindirizzamento utilizzato nella richiesta di autorizzazione. |
unauthorized_client |
400 |
Il client autenticato non è autorizzato a utilizzare questo tipo di concessione di autorizzazione. |
unsupported_grant_type |
400 |
Il tipo di concessione di autorizzazione non è supportato dal server di autorizzazione. |
invalid_scope |
400 |
L'ambito richiesto non è valido, sconosciuto o ha un formato non corretto. |
authorization_pending |
428 |
(Flusso di dispositivi) L'utente non ha ancora completato il flusso di autorizzazione. |
slow_down |
429 |
(Flusso dispositivo) Il dispositivo invia richieste di polling troppo spesso. |
access_denied |
403 |
(Device Flow) L'utente ha rifiutato di concedere l'accesso al dispositivo. |
expired_token |
400 |
(Device Flow) device_code è scaduto. |
admin_policy_enforced |
400 |
L'utente non è in grado di autorizzare gli ambiti richiesti a causa dei criteri applicati dal suo amministratore di Google Workspace. |
org_internal |
403 |
L'identificatore client fa parte di un progetto che limita l'accesso a un'organizzazione Google Cloud specifica. |
Endpoint di autorizzazione dispositivo
L'endpoint di autorizzazione del dispositivo viene utilizzato nel flusso OAuth 2.0 per i dispositivi per ottenere un codice utente e un URL di verifica per i dispositivi con funzionalità di input limitate.
URL: https://oauth2.googleapis.com/device/code
Metodo di richiesta supportato: POST
Parametri di richiesta
| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
client_id |
string |
Obbligatorio | L'identificatore client per la tua applicazione, ottenuto dalla console Google Cloud. |
scope |
string |
Obbligatorio | Un elenco delimitato da spazi degli ambiti che identificano le risorse a cui la tua applicazione potrebbe accedere per conto dell'utente. |
Corpo della risposta
La risposta è un oggetto JSON che contiene i seguenti campi:
| Campo | Tipo | Descrizione |
|---|---|---|
device_code |
string |
Un valore assegnato in modo univoco da Google per identificare il dispositivo che esegue l'app che richiede l'autorizzazione. |
user_code |
string |
Un valore sensibile alle maiuscole e minuscole che identifica a Google gli ambiti a cui l'applicazione richiede l'accesso. L'interfaccia utente chiederà all'utente di inserire questo valore su un dispositivo separato con funzionalità di input più avanzate. |
verification_url |
string |
Un URL a cui l'utente deve accedere su un dispositivo separato per inserire il user_code e concedere o negare l'accesso alla tua applicazione. |
expires_in |
integer |
Il periodo di tempo, in secondi, durante il quale device_code e user_code sono validi. |
interval |
integer |
Il periodo di tempo, in secondi, che il dispositivo deve attendere tra le richieste di polling. |
Endpoint di revoca
L'endpoint di revoca consente alla tua applicazione di revocare un token di accesso o un token di aggiornamento.
URL: https://oauth2.googleapis.com/revoke
Metodo di richiesta supportato: POST
Parametri di richiesta
| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
token |
string |
Obbligatorio | Il token di accesso o il token di aggiornamento che vuoi revocare. |
Corpo della risposta
Se la revoca ha esito positivo, la risposta è un HTTP 200 OK vuoto. Se la
revoca non va a buon fine, viene restituita una risposta di errore in un oggetto JSON.
| Campo | Tipo | Descrizione |
|---|---|---|
error |
string |
Un codice di errore se la richiesta non è andata a buon fine. |
error_description |
string |
Una descrizione dell'errore se la richiesta non è andata a buon fine. |
La seguente tabella descrive i potenziali codici di errore:
| Errore | Descrizione |
|---|---|
invalid_token |
Il token fornito nella richiesta è già scaduto o è già stato revocato. |
invalid_request |
Nella richiesta manca un parametro obbligatorio, è incluso un valore parametro non valido o il formato non è corretto. |
Endpoint UserInfo
L'endpoint UserInfo restituisce le informazioni del profilo dell'utente autenticato.
URL: https://openidconnect.googleapis.com/v1/userinfo
Metodi di richiesta supportati: GET, POST
Intestazioni delle richieste
| Intestazione | Descrizione |
|---|---|
Authorization |
Obbligatorio. Deve essere impostato su Bearer: access_token. |
Corpo della risposta
I campi della risposta vengono restituiti in un oggetto JSON nel corpo della risposta HTTP alla richiesta GET o POST del richiedente a https://openidconnect.googleapis.com/v1/userinfo.
| Campo | Tipo | Descrizione |
|---|---|---|
sub |
string |
Obbligatorio. Un identificatore per l'utente, univoco tra tutti gli Account Google e mai riutilizzato. Stringa sensibile alle maiuscole e minuscole che non superi i 255 caratteri. |
name |
string |
Il nome completo dell'utente, in un formato visualizzabile. |
given_name |
string |
Il nome o i nomi dell'utente. |
family_name |
string |
Il cognome o i cognomi dell'utente. |
picture |
string |
L'URL dell'immagine del profilo dell'utente. |
email |
string |
L'indirizzo email dell'utente. |
email_verified |
boolean |
Indica se l'indirizzo email dell'utente è stato verificato. |
hd |
string |
Il dominio ospitato associato all'organizzazione Google Workspace o Cloud dell'utente. |
Endpoint Tokeninfo
L'endpoint tokeninfo è un'implementazione specifica di Google utilizzata per convalidare un
token ID a scopo di debug.
URL: https://oauth2.googleapis.com/tokeninfo
Metodi di richiesta supportati: GET, POST
Parametri di richiesta
| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
id_token |
string |
Obbligatorio | Il token ID da convalidare. |
Corpo della risposta
I campi della risposta vengono restituiti in un oggetto JSON nel corpo della risposta HTTP alla richiesta GET o POST del richiedente a https://oauth2.googleapis.com/tokeninfo.
| Campo | Tipo | Descrizione |
|---|---|---|
iss |
string |
L'identificatore dell'emittente. Sempre https://accounts.google.com. |
sub |
string |
Un identificatore per l'utente, univoco tra tutti gli Account Google e mai riutilizzato. |
aud |
string |
Il pubblico a cui è destinato il token ID. Si tratta dell'identificatore client della tua applicazione, ottenuto dalla console Google Cloud. |
iat |
integer |
Ora in cui è stato emesso il JWT. Rappresentato come il numero di secondi dal giorno 01/01/1970 alle ore 00:00:00 UTC. |
exp |
integer |
Ora di scadenza a partire dalla quale il token ID non deve essere accettato per l'elaborazione. Rappresentato come il numero di secondi dal giorno 01/01/1970 alle ore 00:00:00 UTC. |
email |
string |
L'indirizzo email dell'utente. |
email_verified |
string |
Indica se l'indirizzo email dell'utente è stato verificato. Il valore è una stringa "true" o "false". |
access_type |
string |
Il tipo di accesso richiesto nella richiesta di autorizzazione originale. |
azp |
string |
L'identificatore client del presentatore autorizzato, ottenuto dalla console Google Cloud. |
scope |
string |
L'elenco delimitato da spazi degli ambiti concessi al token. |
alg |
string |
L'algoritmo utilizzato per firmare il token ID. |
kid |
string |
L'ID chiave utilizzato per firmare il token ID. |
typ |
string |
Il tipo di token. Sempre JWT. |