In diesem Leitfaden wird beschrieben, wie Sie mit dem /userinfo-Endpunkt in der Cloud OAuth API (cloudoauth.googleapis.com) OpenID Connect-Standardansprüche (OIDC), benutzerdefinierte Verzeichnisansprüche und Gruppenmitgliedschaften für authentifizierte Mitarbeiter abrufen.
Hinweis
- Konfigurieren Sie einen Workforce Identity-Pool und -Anbieter. Weitere Informationen finden Sie unter Mitarbeiteridentitätsföderation konfigurieren.
- Registrieren Sie einen OAuth-Client und tauschen Sie einen Autorisierungscode gegen ein Zugriffstoken ein. Weitere Informationen finden Sie unter Tokens mit der Cloud OAuth API tauschen.
- Ihr Zugriffstoken muss den Geltungsbereich
openidenthalten. -
Aktivieren Sie die Cloud OAuth API.
Rollen, die zum Aktivieren von APIs erforderlich sind
Zum Aktivieren von APIs benötigen Sie die Berechtigung
serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Rolle „Inhaber“ (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollen
Endpunkt auf Organisationsebene
Die Cloud OAuth API bietet den organisationsbezogenen (Single-Tenant-)Endpunkt, den Sie verwenden können, wenn Ihre Clientanwendung und Ressourcen auf eine bestimmteGoogle Cloud Organisation beschränkt sind:
Mit der Methode organizations.userinfo der Cloud OAuth API werden OpenID Connect-Standardansprüche (OIDC), benutzerdefinierte Ansprüche und Gruppenmitgliedschaften für den authentifizierten Nutzer in einer bestimmten Organisation abgerufen.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
TOKEN: Das kurzlebige OAuth 2.0-Zugriffstoken, das vom Tokenaustausch-Endpunkt abgerufen wurde.ORGANIZATION_ID: Ihre numerische Google Cloud Organisations-ID.
HTTP-Methode und URL:
GET https://cloudoauth.googleapis.com/v1/organizations/ORGANIZATION_ID/userinfo
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Bei Workforce Identity-Pools ohne aktiviertes SCIM-Provisioning gibt der Endpunkt Profilattribute, benutzerdefinierte Ansprüche und Gruppenmitgliedschaften inline zurück:
{
"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"
]
}
Nutzeransprüche und SCIM-verteilte Gruppen
Wenn eine Anfrage erfolgreich ist, gibt der /userinfo-Endpunkt den HTTP-Status 200 OK und ein JSON-Objekt mit Ansprüchen für den authentifizierten Nutzer zurück.
Das Format der Ansprüche hängt davon ab, ob Ihr Anbieter für Workforce Identity-Pools SCIM-Bereitstellung verwendet:
Inline-Ansprüche (Nicht-SCIM-Identitätspools)
Bei Workforce Identity-Pools ohne aktiviertes SCIM-Provisioning gibt der Endpunkt Profilattribute, benutzerdefinierte Ansprüche und Gruppenmitgliedschaften inline zurück:
{
"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"
]
}
Verteilte Ansprüche (SCIM-fähige Identitätspools)
Bei Workforce Identity-Pools mit aktivierter SCIM-Bereitstellung werden Gruppenmitgliedschaften als verteilte Ansprüche zurückgegeben. Die Antwort enthält _claim_names und _claim_sources, die auf den /groups-Endpunkt verweisen:
{
"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"
}
}
}
Anspruchsfelder
Die Antwort enthält die folgenden Standard- und verteilten Anspruchsfelder:
| Feld | Typ | Beschreibung |
|---|---|---|
sub |
string |
Die eindeutige Hauptkonto-ID für den authentifizierten Nutzer im Mitarbeiteridentitätspool. |
name |
string |
Der vollständige Name des Nutzers, falls vom Identitätsanbieter verfügbar. |
email |
string |
Die E-Mail-Adresse des authentifizierten Nutzers. |
groups |
array of strings |
(Nur ohne SCIM) Die Liste der Unternehmensgruppenmitgliedschaften für den Nutzer. |
_claim_names |
object |
(Nur SCIM-fähig) Ein JSON-Objekt, das verteilte Attributnamen (z. B. groups) Quellkennungen in _claim_sources zuordnet. |
_claim_sources |
object |
(Nur SCIM-fähig) Ein JSON-Objekt, das den Quellendpunkt für jede verteilte Anspruchs-ID definiert. |
Informationen zu Fehlerantworten, die vom /userinfo-Endpunkt zurückgegeben werden, finden Sie unter Cloud OAuth-Fehler bei Nutzerinformationen und Gruppen.
Nächste Schritte
- Unternehmensgruppen mit der Cloud OAuth API abrufen
- Tokens mit der Cloud OAuth API austauschen
- Cloud OAuth API – Übersicht
- OAuth-Anwendungen für die Workforce Identity-Föderation verwalten
- Cloud OAuth REST API-Referenz