Questa guida descrive come recuperare le attestazioni standard OpenID Connect (OIDC),
le attestazioni della directory personalizzate e le appartenenze ai gruppi per gli utenti della forza lavoro autenticati
utilizzando l'endpoint /userinfo nell'API Cloud OAuth
(cloudoauth.googleapis.com).
Prima di iniziare
- Configura un provider e un pool di identità per la forza lavoro. Per ulteriori informazioni, consulta Configurare la federazione delle identità per la forza lavoro.
- Registra un client OAuth e scambia un codice di autorizzazione con un token di accesso. Per saperne di più, consulta Scambio di token con l'API Cloud OAuth.
- Assicurati che il token di accesso includa l'ambito
openid. -
Abilita l'API Cloud OAuth.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre dell'autorizzazione
serviceusage.services.enable. Se hai creato il progetto, probabilmente disponi già di questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.
Endpoint con ambito a livello di organizzazione
L'API Cloud OAuth fornisce l'endpoint con ambito organizzazione (single-tenant) che puoi utilizzare quando l'applicazione client e le risorse sono limitate a una specifica Google Cloud organizzazione:
Il metodo
organizations.userinfo
dell'API Cloud OAuth recupera le attestazioni standard OpenID Connect (OIDC), le attestazioni personalizzate e le iscrizioni ai gruppi per l'utente autenticato in un'organizzazione specifica.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
TOKEN: il token di accesso OAuth 2.0 di breve durata ottenuto dall'endpoint di scambio dei token.ORGANIZATION_ID: l'ID organizzazione Google Cloud numerico.
Metodo HTTP e URL:
GET https://cloudoauth.googleapis.com/v1/organizations/ORGANIZATION_ID/userinfo
Per inviare la richiesta, espandi una di queste opzioni:
Per i pool di identità della forza lavoro senza il provisioning SCIM abilitato, l'endpoint restituisce in linea gli attributi del profilo, le rivendicazioni personalizzate e le appartenenze ai gruppi:
{
"sub": "principal://iam.googleapis.com/locations/global/workforcePools/my-pool/subject/user@example.com",
"email": "user@example.com",
"custom_claim1": "engineering",
"custom_claim2": "us-west",
"groups": [
"looker-developers",
"analytics-viewers"
]
}
Attestazioni utente e gruppi distribuiti SCIM
Quando una richiesta ha esito positivo, l'endpoint /userinfo restituisce uno stato HTTP 200 OK
e un oggetto JSON contenente le rivendicazioni per l'utente autenticato.
Il formato delle rivendicazioni dipende dal fatto che il provider del pool di identità della forza lavoro utilizzi il provisioning SCIM:
Attestazioni inline (pool di identità non SCIM)
Per i pool di identità della forza lavoro senza provisioning SCIM abilitato, l'endpoint restituisce attributi del profilo, rivendicazioni personalizzate e appartenenze ai gruppi inline:
{
"sub": "principal://iam.googleapis.com/locations/global/workforcePools/my-pool/subject/user@example.com",
"email": "user@example.com",
"custom_claim1": "engineering",
"custom_claim2": "us-west",
"groups": [
"looker-developers",
"analytics-viewers"
]
}
Attestazioni distribuite (pool di identità abilitati a SCIM)
Per i pool di identità della forza lavoro con il provisioning SCIM abilitato, le appartenenze ai gruppi
vengono restituite come attestazioni distribuite. La risposta include _claim_names e
_claim_sources che fanno riferimento all'endpoint /groups:
{
"sub": "principal://iam.googleapis.com/locations/global/workforcePools/my-pool/subject/user@example.com",
"name": "Jane Doe",
"email": "user@example.com",
"_claim_names": {
"groups": "src1"
},
"_claim_sources": {
"src1": {
"endpoint": "https://cloudoauth.googleapis.com/v1/common/groups"
}
}
}
Campi della richiesta in garanzia
La risposta contiene i seguenti campi delle rivendicazioni standard e distribuite:
| Campo | Tipo | Descrizione |
|---|---|---|
sub |
string |
L'identificatore univoco del principal per l'utente autenticato nel pool di identità della forza lavoro. |
name |
string |
Il nome completo dell'utente, se disponibile dal provider di identità. |
email |
string |
L'indirizzo email dell'utente autenticato. |
groups |
array of strings |
(Solo non SCIM) L'elenco delle appartenenze ai gruppi aziendali per l'utente. |
_claim_names |
object |
(Solo SCIM) Un oggetto JSON che mappa i nomi delle attestazioni distribuite (ad esempio groups) agli identificatori di origine in _claim_sources. |
_claim_sources |
object |
(Solo con SCIM) Un oggetto JSON che definisce l'endpoint di origine per ogni identificatore di rivendicazione distribuita. |
Per informazioni sulle risposte di errore restituite dall'endpoint /userinfo, consulta
Errori relativi a gruppi e informazioni utente di Cloud OAuth.
Passaggi successivi
- Recuperare i gruppi aziendali con l'API Cloud OAuth
- Scambia i token con l'API Cloud OAuth
- Panoramica dell'API Cloud OAuth
- Gestire le applicazioni OAuth per la federazione delle identità della forza lavoro
- Riferimento API REST Cloud OAuth