Auf dieser Seite wird die Implementierung von Google als OpenID Connect-Anbieter beschrieben und die technische Referenz für die OIDC-Endpunkte von Google bereitgestellt. Die Spezifikation OpenID Connect (OIDC) Core 1.0 definiert das Protokoll für die Authentifizierung von Nutzern und das Abrufen von Identitätsinformationen.
Diese Referenz enthält keine detaillierte Anleitung zur Implementierung von OIDC. Implementierungsdetails finden Sie im OpenID Connect-Leitfaden.
Discovery-Dokument
Das Discovery-Dokument enthält Metadaten zur OpenID Connect-Konfiguration von Google gemäß der OpenID Connect Discovery 1.0-Spezifikation.
URL:https://accounts.google.com/.well-known/openid-configuration
Unterstützte Anfragemethode: GET
Antworttext
Die Antwortfelder werden in einem JSON-Objekt im Text der HTTP-Antwort auf die GET-Anfrage des Anfragenden an https://accounts.google.com/.well-known/openid-configuration zurückgegeben.
| Feld | Typ | Beschreibung |
|---|---|---|
issuer |
string |
Die Aussteller-ID. Die URL muss die Groß- und Kleinschreibung beachten und das https-Schema verwenden. Der moderne Wert ist https://accounts.google.com. Für Legacy-Implementierungen wird jedoch auch accounts.google.com zurückgegeben. |
authorization_endpoint |
string |
Die URL des Autorisierungsendpunkts. |
device_authorization_endpoint |
string |
Die URL des Geräteautorisierungsendpunkts. |
token_endpoint |
string |
Die URL des Token-Endpunkts. |
userinfo_endpoint |
string |
Die URL des UserInfo-Endpunkts. |
revocation_endpoint |
string |
Die URL des Endpunkts zum Widerrufen. |
jwks_uri |
string |
Die URL des JSON Web Key Set-Dokuments (JWKS). |
response_types_supported |
array |
Eine Liste der unterstützten response_type-Werte. |
response_modes_supported |
array |
Eine Liste der unterstützten response_mode-Werte. |
authorization_response_iss_parameter_supported |
boolean |
Boolescher Wert, der angibt, ob RFC 9207 unterstützt wird. |
subject_types_supported |
array |
Eine Liste der unterstützten Typen von Subjektkennzeichnungen. |
id_token_signing_alg_values_supported |
array |
Eine Liste der unterstützten Algorithmen zum Signieren des ID-Tokens. |
scopes_supported |
array |
Eine Liste der unterstützten Bereichswerte. |
claims_supported |
array |
Eine Liste der unterstützten Ansprüche. |
token_endpoint_auth_methods_supported |
array |
Eine Liste der unterstützten Authentifizierungsmethoden für den Token-Endpunkt. |
code_challenge_methods_supported |
array |
Eine Liste der unterstützten Code-Challenge-Methoden für PKCE. |
grant_types_supported |
array |
Eine Liste der unterstützten OAuth 2.0-Berechtigungstypen. |
ID-Token (Ansprüche)
Der in Antworten zurückgegebene id_token-Wert ist ein signiertes JSON Web Token (JWT), das mit dem Schlüsselmaterial aus dem jwks_uri im Discovery-Dokument überprüft werden muss. In der folgenden Tabelle wird der Inhalt der decodierten ID-Token-Nutzlast beschrieben.
| Anspruch | Typ | Beschreibung |
|---|---|---|
iss |
string |
Erforderlich. Die Aussteller-ID für den Aussteller der Antwort. Normalerweise https://accounts.google.com, aber accounts.google.com wird auch für Legacy-Implementierungen zurückgegeben. |
sub |
string |
Erforderlich. Eine Kennung für den Nutzer, die für alle Google-Konten eindeutig ist und nie wiederverwendet wird. Ein Google-Konto kann zu verschiedenen Zeitpunkten mehrere E-Mail-Adressen haben, der sub-Wert wird jedoch nie geändert. Verwenden Sie sub in Ihrer Anwendung als eindeutigen Kennungsschlüssel für den Nutzer. Maximale Länge: 255 ASCII-Zeichen (Groß-/Kleinschreibung wird berücksichtigt). |
azp |
string |
Die Client-ID des autorisierten Moderators, die in der Google Cloud Console abgerufen werden kann. Dieser Anspruch ist nur erforderlich, wenn die Partei, die das ID-Token anfordert, nicht mit der Zielgruppe des ID-Tokens identisch ist. |
aud |
string |
Erforderlich. Die Zielgruppe, für die das ID-Token bestimmt ist. Dies ist die Client-ID Ihrer Anwendung, die Sie in der Google Cloud Console erhalten. |
iat |
integer |
Erforderlich. Der Zeitpunkt, zu dem das ID-Token ausgestellt wurde. Wird in Unix-Epochenzeit (Ganzzahl in Sekunden) dargestellt. |
exp |
integer |
Erforderlich. Ablaufzeit, nach der das ID-Token nicht mehr akzeptiert werden darf. Wird in Unix-Epochenzeit (Ganzzahl in Sekunden) dargestellt. |
nonce |
string |
Der Wert von nonce, der von Ihrer App in der Authentifizierungsanfrage angegeben wird. Sie sollten sich vor Replay-Angriffen schützen, indem Sie diesen Wert nur einmal präsentieren. |
auth_time |
integer |
Die Zeit, zu der die Nutzerauthentifizierung stattgefunden hat, als JSON-Zahl, die die Anzahl der Sekunden seit der Unix-Epoche (1. Januar 1970, 00:00:00 UTC) darstellt. Wird bereitgestellt, wenn der Anspruch auth_time im Parameter claims der Authentifizierungsanfrage enthalten ist. |
at_hash |
string |
Hash des Zugriffstokens. Bietet eine Validierung dafür, dass das Zugriffstoken mit dem Identitätstoken verknüpft ist. Wenn das ID-Token mit einem access_token-Wert im Serverablauf ausgestellt wird, ist dieser Anspruch immer enthalten. |
email |
string |
Die E-Mail-Adresse des Nutzers. Wird nur bereitgestellt, wenn Sie den Bereich email in Ihre Anfrage aufgenommen haben. Der Wert dieses Anspruchs ist möglicherweise nicht eindeutig für dieses Konto und kann sich im Laufe der Zeit ändern. Verwenden Sie ihn daher nicht als primäre Kennung, um eine Verknüpfung zu Ihrem Nutzerdatensatz herzustellen. Sie können sich auch nicht auf die Domain des email-Anspruchs verlassen, um Nutzer von Google Workspace- oder Cloud-Organisationen zu identifizieren. Verwenden Sie stattdessen den hd-Anspruch. Achtung:Verwenden Sie die E‑Mail-Adresse nicht als Kennzeichnung, da ein Google-Konto zu verschiedenen Zeitpunkten mehrere E‑Mail-Adressen haben kann. Verwenden Sie immer das Feld sub als Kennung für den Nutzer. |
email_verified |
boolean |
„True“, wenn die E-Mail-Adresse des Nutzers bestätigt wurde, andernfalls „false“. |
name |
string |
Der vollständige Name des Nutzers in anzeigbarer Form. Wird möglicherweise bereitgestellt, wenn der Anforderungsbereich den String profile enthält oder das ID-Token von einer Tokenaktualisierung zurückgegeben wird. |
picture |
string |
Die URL des Profilbilds des Nutzers. Wird möglicherweise bereitgestellt, wenn der Anforderungsbereich den String profile enthält oder das ID-Token von einer Tokenaktualisierung zurückgegeben wird. |
given_name |
string |
Der oder die Vornamen des Nutzers. Kann angegeben werden, wenn ein name-Anspruch vorhanden ist. |
family_name |
string |
Der/die Nachname(n) des Nutzers. Kann angegeben werden, wenn ein name-Anspruch vorhanden ist. |
hd |
string |
Die Domain, die mit der Google Workspace- oder Cloud-Organisation des Nutzers verknüpft ist. Wird nur bereitgestellt, wenn der Nutzer zu einer Google Cloud-Organisation gehört. Sie müssen diesen Anspruch prüfen, wenn Sie den Zugriff auf eine Ressource auf Mitglieder bestimmter Domains beschränken. Wenn diese Behauptung fehlt, gehört das Konto nicht zu einer von Google gehosteten Domain. |
Autorisierungsendpunkt
Der Autorisierungsendpunkt wird verwendet, um den Nutzer zu authentifizieren und einen Autorisierungscode oder Tokens abzurufen.
URL:https://accounts.google.com/o/oauth2/v2/auth
Unterstützte Anfragemethoden: GET, POST
Anfrageparameter
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
client_id |
string |
Erforderlich | Die Client-ID-String, die Sie in der Google Cloud Console abrufen. |
nonce |
string |
Optional | Ein zufälliger Wert, der von Ihrer App generiert wird und den Replay-Schutz ermöglicht. Nur erforderlich, wenn ein ID-Token angefordert wird (wenn response_type id_token enthält). |
response_type |
string |
Erforderlich | Bestimmt den zu verwendenden Ablauf. Wenn der Wert code ist, wird ein Vorgang mit Autorisierungscode gestartet, für den ein POST an den Token-Endpunkt erforderlich ist, um die Tokens zu erhalten. Wenn der Wert token, id_token, token id_token oder id_token token ist, wird ein impliziter Ablauf gestartet, bei dem JavaScript im Weiterleitungs-URI verwendet werden muss, um Tokens aus dem URI-Fragment abzurufen. Die Verwendung von token in jeglicher Form wird dringend abgeraten, da dadurch Zugriffstokens in der URL offengelegt werden. Dieser Wert ist in OAuth 2.1 verboten. |
response_mode |
string |
Optional | Gibt an, wie die Autorisierungsantwort übermittelt wird. Wenn response_type code ist, ist der Standardwert query. Bei anderen Antworttypen ist der Standardwert fragment. Unterstützte Werte: query, fragment, form_post. |
redirect_uri |
string |
Erforderlich | Legt fest, wohin die Antwort gesendet wird. Der Wert dieses Parameters muss genau mit einem der autorisierten Weiterleitungswerte übereinstimmen, die Sie in der Google Cloud Console festgelegt haben (einschließlich des HTTP- oder HTTPS-Schemas, der Groß-/Kleinschreibung und des abschließenden „/“, falls vorhanden). Weiterleitungs-URIs und autorisierte JavaScript-Quellen müssen den Validierungsregeln entsprechen, die in der Dokumentation zur OAuth 2.0-URI-Validierung beschrieben sind. |
scope |
string |
Erforderlich | Eine durch Leerzeichen getrennte, ungeordnete Liste von Bereichen. Die Liste muss den Wert openid und dann den Wert profile, den Wert email oder beide enthalten. Sie können auch Nicht-OIDC-Bereiche einfügen. Wenn der Bereichswert profile vorhanden ist, enthält das ID-Token möglicherweise (aber nicht garantiert) die standardmäßigen profile-Anforderungen des Nutzers. Wenn der Bereichswert email vorhanden ist, enthält das ID-Token die Ansprüche email und email_verified. Weitere Informationen finden Sie unter OAuth 2.0-Bereiche. |
state |
string |
Empfohlen | Ein intransparenter String, der im Protokoll hin und zurück gesendet wird. Das heißt, er wird im Autorisierungscode-Ablauf als URI-Parameter und im impliziten Ablauf als URI-Fragment zurückgegeben. Die state kann nützlich sein, um Anfragen und Antworten zu korrelieren. Da Ihr redirect_uri erraten werden kann, kann die Verwendung eines state-Werts die Wahrscheinlichkeit erhöhen, dass eine eingehende Verbindung das Ergebnis einer von Ihrer App initiierten Authentifizierungsanfrage ist. Dies bietet Schutz vor Angriffen wie Cross-Site Request Forgery. |
access_type |
string |
Optional | Die zulässigen Werte sind offline und online. Wenn Ihre Anwendung Zugriffstokens aktualisieren muss, wenn der Nutzer nicht am Browser ist, verwenden Sie offline. Dieser Wert ist erforderlich, um ein Aktualisierungstoken zurückzugeben. |
hd |
string |
Optional | Den Anmeldevorgang für Konten, die einer Google Cloud-Organisation gehören, optimieren. Wenn Sie die Domain der Google Cloud-Organisation (z. B. mycollege.edu) angeben, können Sie festlegen, dass die Benutzeroberfläche zur Kontoauswahl für Konten in dieser Domain optimiert werden soll. Wenn Sie die Optimierung für Google Cloud-Organisationskonten im Allgemeinen und nicht nur für eine Google Cloud-Organisationsdomain vornehmen möchten, legen Sie den Wert auf ein Sternchen (*) fest: hd=*. |
login_hint |
string |
Optional | Wenn Ihre App weiß, welcher Nutzer authentifiziert werden soll, kann sie diesen Parameter als Hinweis für den Authentifizierungsserver angeben. Wenn Sie diesen Hinweis übergeben, wird die Kontoauswahl unterdrückt und entweder das E‑Mail-Feld im Anmeldeformular vorausgefüllt oder die richtige Sitzung ausgewählt. So können Sie Probleme vermeiden, die auftreten, wenn sich Ihre App im falschen Nutzerkonto anmeldet. Der Wert kann entweder eine E-Mail-Adresse oder der String sub sein, der der Google-ID des Nutzers entspricht. |
prompt |
string |
Optional | Eine durch Leerzeichen getrennte Liste von Stringwerten, die angibt, ob der Autorisierungsserver den Nutzer zur erneuten Authentifizierung und Einwilligung auffordert. Mögliche Werte: none (keine Benutzeroberfläche), consent (Aufforderung zur Einwilligung), select_account (Aufforderung zur Kontoauswahl). |
hl |
string |
Optional | Ein BCP 47-Sprachentag, mit dem die Anzeigesprache für die Anmelde-, Kontoauswahl- und Einwilligungsbildschirme angegeben wird. Die Verwendung dieses Parameters wird nicht empfohlen, da Browsereinstellungen und Google-Kontoeinstellungen in der Regel bessere Indikatoren für die bevorzugte Sprache des Nutzers sind. |
include_granted_scopes |
boolean |
Optional | Wenn dieser Parameter mit dem Wert true angegeben wird und die Autorisierungsanfrage genehmigt wird, umfasst die Autorisierung alle vorherigen Autorisierungen, die dieser Kombination aus Nutzer und Anwendung für andere Bereiche gewährt wurden. Weitere Informationen finden Sie unter Inkrementelle Autorisierung. |
claims |
object |
Optional | Mit dem claims-Parameter werden ein oder mehrere optionale Felder angegeben, die in die UserInfo-Antwort oder das ID-Token aufgenommen werden sollen. Verwenden Sie claims={\"id_token\":{\"auth_time\":{\"essential\":true}}}, um den Anspruch auth_time anzufordern. |
Antwortparameter
Die Autorisierungsantwort wird über eine HTTP-GET-Weiterleitung an den Weiterleitungs-URI des Clients (redirect_uri) gesendet. Die Antwortparameter werden je nach response_type und response_mode an die Weiterleitungs-URI im Abfragestring oder URL-Fragment angehängt.
| Parameter | Typ | Beschreibung |
|---|---|---|
iss |
string |
Die Aussteller-ID. Gemäß RFC 9207 wird dieser Parameter immer zurückgegeben und auf https://accounts.google.com festgelegt. |
code |
string |
Der Autorisierungscode, der gegen ein Zugriffstoken und ein ID-Token eingetauscht werden kann. |
state |
string |
Derselbe Wert wie der Parameter state aus der Anfrage. |
id_token |
string |
Ein JSON Web Token (JWT), das Identitätsinformationen über den Nutzer enthält. |
access_token |
string |
Das Zugriffstoken, das an eine Google API gesendet werden kann. |
token_type |
string |
Der Typ des zurückgegebenen Tokens. Immer Bearer. |
expires_in |
integer |
Die Lebensdauer des Zugriffstokens in Sekunden, relativ zum Zeitpunkt der Ausstellung des Tokens. |
scope |
string |
Die durch code oder access_token gewährten Zugriffsbereiche, ausgedrückt als Liste von durch Leerzeichen getrennten, groß-/kleinschreibungsabhängigen Strings. |
error |
string |
Ein Fehlercode, wenn die Anfrage fehlgeschlagen ist. |
error_description |
string |
Eine Beschreibung des Fehlers, wenn die Anfrage fehlgeschlagen ist. |
Fehlerantworten
Für den Autorisierungs-Endpunkt werden Fehler entweder als Parameter im Query-String oder URL-Fragment an die redirect_uri des Clients zurückgegeben oder dem Nutzer als von Google gehostete Fehlerseite angezeigt.
Weitergeleitete Fehler
Die folgenden Fehlercodes können an Ihre redirect_uri zurückgegeben werden:
| Fehler | Beschreibung |
|---|---|
access_denied |
Der Nutzer oder der Autorisierungsserver hat die Anfrage abgelehnt. |
invalid_request |
In der Anfrage fehlt ein erforderlicher Parameter, sie enthält einen ungültigen Parameterwert, ein Parameter ist mehr als einmal enthalten oder die Anfrage ist auf andere Weise fehlerhaft. |
unauthorized_client |
Der Client ist nicht autorisiert, mit dieser Methode einen Autorisierungscode anzufordern. |
unsupported_response_type |
Der Autorisierungsserver unterstützt das Abrufen eines Autorisierungscodes mit dieser Methode nicht. |
invalid_scope |
Der angeforderte Bereich ist ungültig, unbekannt oder fehlerhaft. |
Fehler, die Nutzern angezeigt werden
In einigen Fällen, z. B. wenn client_id oder redirect_uri ungültig ist, kann der Autorisierungsserver den Nutzer nicht sicher zu Ihrer Anwendung zurückleiten.
In diesen Fällen wird dem Nutzer direkt eine Fehlerseite angezeigt.
| Fehler | Beschreibung |
|---|---|
admin_policy_enforced |
Das Google-Konto kann aufgrund der Richtlinien des Google Workspace-Administrators einen oder mehrere angeforderte Bereiche nicht autorisieren. Weitere Informationen dazu, wie ein Administrator den Zugriff einschränken kann, bis der Zugriff explizit für Ihre OAuth-Client-ID gewährt wird, finden Sie in diesem Hilfeartikel. |
disallowed_useragent |
Der Autorisierungsendpunkt wird in einem eingebetteten User-Agent angezeigt, der gemäß den OAuth 2.0-Richtlinien von Google nicht zulässig ist. |
org_internal |
Die OAuth-Client-ID in der Anfrage ist Teil eines Projekts, das den Zugriff auf Google-Konten in einer bestimmten Google Cloud-Organisation einschränkt. |
deleted_client |
Der OAuth-Client, der für die Anfrage verwendet wird, wurde gelöscht. Das Löschen kann manuell oder im Fall von nicht verwendeten Clients automatisch erfolgen. |
invalid_grant |
Der Parameter code_challenge ist ungültig oder fehlt, wenn PKCE verwendet wird. Beim Aktualisieren eines Zugriffstokens oder bei der Verwendung der inkrementellen Autorisierung kann es sein, dass das Token abgelaufen oder ungültig geworden ist oder das Nutzerkonto gelöscht oder deaktiviert wurde. |
redirect_uri_mismatch |
Der in der Anfrage übergebene redirect_uri stimmt nicht mit einem autorisierten Weiterleitungs-URI für die Client-ID überein. Prüfen Sie die autorisierten Weiterleitungs-URIs in der Google Cloud Console. Dieser Fehler kann auch auftreten, wenn in der Anfrage der eingestellte OAuth-OOB-Ablauf (Out-of-Band) verwendet wird. |
invalid_client |
Der Ursprung, von dem die Anfrage gesendet wurde, ist für diesen Client nicht autorisiert, die Clientkonfiguration ist falsch oder das OAuth-Client-Secret ist falsch. |
origin_mismatch |
Das Schema, die Domain und/oder der Port des JavaScript-Codes, der die Autorisierungsanfrage auslöst, stimmt nicht mit einem autorisierten JavaScript-Ursprungs-URI überein, der für die OAuth-Client-ID registriert ist. Prüfen Sie die autorisierten JavaScript-Quellen in der Google Cloud Console. |
invalid_request |
Bei der Anfrage ist ein Fehler aufgetreten. Dies kann an einer fehlerhaften Anfrage, fehlenden erforderlichen Parametern oder der Verwendung einer Autorisierungsmethode liegen, die von Google nicht unterstützt wird. |
Token-Endpunkt
Der Token-Endpunkt wird verwendet, um einen Autorisierungscode gegen ein Zugriffstoken und ein ID-Token einzutauschen.
URL:https://oauth2.googleapis.com/token
Unterstützte Anfragemethode: POST
Anfrageparameter (Grant-Typ „Autorisierungscode“)
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
code |
string |
Erforderlich | Der vom Autorisierungsendpunkt empfangene Autorisierungscode. |
client_id |
string |
Erforderlich | Die Client-ID für Ihre Anwendung, die Sie in der Google Cloud Console erhalten. |
client_secret |
string |
Erforderlich | Der Clientschlüssel für Ihre Anwendung, der über die Google Cloud Console abgerufen wurde. |
redirect_uri |
string |
Erforderlich | Der Weiterleitungs-URI, der in der ersten Autorisierungsanfrage verwendet wurde. Weiterleitungs-URIs und autorisierte JavaScript-Quellen müssen den Validierungsregeln entsprechen, die in der Dokumentation zur OAuth 2.0-URI-Validierung beschrieben sind. |
grant_type |
string |
Erforderlich | Dieses Feld muss auf „authorization_code“ festgelegt sein. |
Anfrageparameter (Gerätefluss)
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
client_id |
string |
Erforderlich | Die Client-ID für Ihre Anwendung, die Sie in der Google Cloud Console erhalten. |
client_secret |
string |
Erforderlich | Der Clientschlüssel für Ihre Anwendung, der über die Google Cloud Console abgerufen wurde. |
device_code |
string |
Erforderlich | Die device_code, die vom Geräteautorisierungsendpunkt zurückgegeben wird. |
grant_type |
string |
Erforderlich | Dieses Feld muss auf „urn:ietf:params:oauth:grant-type:device_code“ festgelegt sein. |
Anfrageparameter (Zugriffstoken aktualisieren)
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
client_id |
string |
Erforderlich | Die Client-ID für Ihre Anwendung, die Sie in der Google Cloud Console erhalten. |
client_secret |
string |
Erforderlich | Der Clientschlüssel für Ihre Anwendung, der über die Google Cloud Console abgerufen wurde. |
grant_type |
string |
Erforderlich | Muss gemäß der Spezifikation OpenID Connect Refresh Tokens auf refresh_token gesetzt werden. |
refresh_token |
string |
Erforderlich | Das Aktualisierungstoken, das beim Austausch des Autorisierungscodes zurückgegeben wird. |
scope |
string |
Optional | Eine durch Leerzeichen getrennte Liste der Bereiche, die für das neue Zugriffstoken angefordert werden. Die angeforderten Bereiche müssen eine Teilmenge der Bereiche sein, die in der ursprünglichen Autorisierungsanfrage gewährt wurden. |
Antworttext
Die Antwortfelder werden in einem JSON-Objekt im Text der HTTP-Antwort auf die POST-Anfrage des Anfragenden an https://oauth2.googleapis.com/token zurückgegeben.
| Feld | Typ | Beschreibung |
|---|---|---|
access_token |
string |
Das Zugriffstoken, das an eine Google API gesendet werden kann. |
expires_in |
integer |
Die Lebensdauer des Zugriffstokens in Sekunden, relativ zum Zeitpunkt der Ausstellung des Tokens. |
id_token |
string |
Ein JSON Web Token (JWT), das Identitätsinformationen über den Nutzer enthält. Dieses Token wird beim ersten Austausch des Autorisierungscodes zurückgegeben und kann auch bei einer Anfrage für ein Aktualisierungstoken zurückgegeben werden, wenn der Bereich openid gewährt wurde. |
scope |
string |
Die Zugriffsbereiche, die durch die access_token gewährt werden, ausgedrückt als Liste von durch Leerzeichen getrennten, groß- und kleinschreibungsabhängigen Strings. |
token_type |
string |
Der Typ des zurückgegebenen Tokens. Immer Bearer. |
refresh_token |
string |
Optional: Ein Token, mit dem neue Zugriffstokens abgerufen werden können. Dieses Feld wird nur beim ersten Austausch eines Autorisierungscodes zurückgegeben, wenn access_type=offline angefordert wurde. |
refresh_token_expires_in |
integer |
(Optional) Die verbleibende Lebensdauer des Aktualisierungstokens in Sekunden. Dieser Wert wird nur festgelegt, wenn der Nutzer zeitbasierten Zugriff gewährt. |
Fehlerantworten
Wenn die Anfrage fehlschlägt, gibt der Autorisierungsserver ein JSON-Objekt mit den folgenden Feldern zurück:
| Feld | Typ | Beschreibung |
|---|---|---|
error |
string |
Ein Fehlercode. |
error_description |
string |
Eine Beschreibung des Fehlers, wenn die Anfrage fehlgeschlagen ist. |
In der folgenden Tabelle werden die möglichen Fehlercodes und die zugehörigen HTTP-Statuscodes beschrieben:
| Fehler | HTTP-Statuscode | Beschreibung |
|---|---|---|
invalid_request |
400 |
In der Anfrage fehlt ein erforderlicher Parameter, sie enthält einen ungültigen Parameterwert oder ist auf andere Weise fehlerhaft. |
invalid_client |
401 |
Die Client-Authentifizierung ist fehlgeschlagen. Beispiel: client_id oder client_secret ist ungültig oder der Clienttyp ist falsch. |
invalid_grant |
400 |
Der angegebene Autorisierungscode, das Aktualisierungstoken oder der Gerätecode ist ungültig, abgelaufen, widerrufen oder stimmt nicht mit dem Weiterleitungs-URI überein, der in der Autorisierungsanfrage verwendet wurde. |
unauthorized_client |
400 |
Der authentifizierte Client ist nicht berechtigt, diesen Autorisierungstyp zu verwenden. |
unsupported_grant_type |
400 |
Der Autorisierungs-Grant-Typ wird vom Autorisierungsserver nicht unterstützt. |
invalid_scope |
400 |
Der angeforderte Bereich ist ungültig, unbekannt oder fehlerhaft. |
authorization_pending |
428 |
(Gerätefluss) Der Nutzer hat den Autorisierungsvorgang noch nicht abgeschlossen. |
slow_down |
429 |
(Gerätefluss) Das Gerät sendet zu häufig Polling-Anfragen. |
access_denied |
403 |
(Gerätefluss) Der Nutzer hat den Zugriff auf das Gerät verweigert. |
expired_token |
400 |
(Gerätefluss) Die device_code ist abgelaufen. |
admin_policy_enforced |
400 |
Der Nutzer kann die angeforderten Bereiche aufgrund von Richtlinien, die von seinem Google Workspace-Administrator erzwungen werden, nicht autorisieren. |
org_internal |
403 |
Die Client-ID ist Teil eines Projekts, das den Zugriff auf eine bestimmte Google Cloud-Organisation einschränkt. |
Geräteautorisierungsendpunkt
Der Geräteautorisierungsendpunkt wird im OAuth 2.0-Gerätefluss verwendet, um einen Nutzercode und eine Bestätigungs-URL für Geräte mit eingeschränkten Eingabefunktionen abzurufen.
URL:https://oauth2.googleapis.com/device/code
Unterstützte Anfragemethode: POST
Anfrageparameter
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
client_id |
string |
Erforderlich | Die Client-ID für Ihre Anwendung, die Sie in der Google Cloud Console erhalten. |
scope |
string |
Erforderlich | Eine durch Leerzeichen getrennte Liste von Bereichen, die die Ressourcen identifizieren, auf die Ihre Anwendung im Namen des Nutzers zugreifen kann. |
Antworttext
Die Antwort ist ein JSON-Objekt mit diesen Feldern:
| Feld | Typ | Beschreibung |
|---|---|---|
device_code |
string |
Ein Wert, der von Google eindeutig zugewiesen wird, um das Gerät zu identifizieren, auf dem die App ausgeführt wird, die die Autorisierung anfordert. |
user_code |
string |
Ein Wert, bei dem die Groß- und Kleinschreibung beachtet werden muss und der Google die Bereiche angibt, auf die die Anwendung Zugriff anfordert. Auf der Benutzeroberfläche wird der Nutzer aufgefordert, diesen Wert auf einem separaten Gerät mit besseren Eingabefunktionen einzugeben. |
verification_url |
string |
Eine URL, die der Nutzer auf einem separaten Gerät aufrufen muss, um den user_code einzugeben und den Zugriff auf Ihre Anwendung zu gewähren oder zu verweigern. |
expires_in |
integer |
Die Dauer in Sekunden, für die device_code und user_code gültig sind. |
interval |
integer |
Die Zeitspanne in Sekunden, die Ihr Gerät zwischen Abfrageanfragen warten sollte. |
Widerrufsendpunkt
Mit dem Widerrufsendpunkt kann Ihre Anwendung ein Zugriffstoken oder ein Aktualisierungstoken widerrufen.
URL:https://oauth2.googleapis.com/revoke
Unterstützte Anfragemethode: POST
Anfrageparameter
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
token |
string |
Erforderlich | Das Zugriffstoken oder Aktualisierungstoken, das Sie widerrufen möchten. |
Antworttext
Wenn der Widerruf erfolgreich ist, ist die Antwort ein leerer HTTP-200 OK-Code. Wenn der Widerruf fehlschlägt, wird eine Fehlermeldung in einem JSON-Objekt zurückgegeben.
| Feld | Typ | Beschreibung |
|---|---|---|
error |
string |
Ein Fehlercode, wenn die Anfrage fehlgeschlagen ist. |
error_description |
string |
Eine Beschreibung des Fehlers, wenn die Anfrage fehlgeschlagen ist. |
In der folgenden Tabelle werden die möglichen Fehlercodes beschrieben:
| Fehler | Beschreibung |
|---|---|
invalid_token |
Das in der Anfrage angegebene Token ist bereits abgelaufen oder wurde bereits widerrufen. |
invalid_request |
In der Anfrage fehlt ein erforderlicher Parameter, sie enthält einen ungültigen Parameterwert oder ist auf andere Weise fehlerhaft. |
UserInfo-Endpunkt
Der UserInfo-Endpunkt gibt Profilinformationen zum authentifizierten Nutzer zurück.
URL:https://openidconnect.googleapis.com/v1/userinfo
Unterstützte Anfragemethoden: GET, POST
Anfrageheader
| Header | Beschreibung |
|---|---|
Authorization |
Erforderlich. Dieses Feld muss auf Bearer: access_token festgelegt sein. |
Antworttext
Die Antwortfelder werden in einem JSON-Objekt im Text der HTTP-Antwort auf die GET- oder POST-Anfrage des Anfragenden an https://openidconnect.googleapis.com/v1/userinfo zurückgegeben.
| Feld | Typ | Beschreibung |
|---|---|---|
sub |
string |
Erforderlich. Eine Kennung für den Nutzer, die für alle Google-Konten eindeutig ist und nie wiederverwendet wird. Eine String mit maximal 255 Zeichen, bei dem die Groß- und Kleinschreibung beachtet wird. |
name |
string |
Der vollständige Name des Nutzers in anzeigbarer Form. |
given_name |
string |
Der oder die Vornamen des Nutzers. |
family_name |
string |
Der/die Nachname(n) des Nutzers. |
picture |
string |
Die URL des Profilbilds des Nutzers. |
email |
string |
Die E-Mail-Adresse des Nutzers. |
email_verified |
boolean |
Gibt an, ob die E-Mail-Adresse des Nutzers bestätigt wurde. |
hd |
string |
Die gehostete Domain, die mit der Google Workspace- oder Cloud-Organisation des Nutzers verknüpft ist. |
Tokeninfo-Endpunkt
Der Endpunkt tokeninfo ist eine Google-spezifische Implementierung, mit der ein ID-Token zu Debugging-Zwecken validiert wird.
URL:https://oauth2.googleapis.com/tokeninfo
Unterstützte Anfragemethoden: GET, POST
Anfrageparameter
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
id_token |
string |
Erforderlich | Das zu validierende ID-Token. |
Antworttext
Die Antwortfelder werden in einem JSON-Objekt im Text der HTTP-Antwort auf die GET- oder POST-Anfrage des Anfragenden an https://oauth2.googleapis.com/tokeninfo zurückgegeben.
| Feld | Typ | Beschreibung |
|---|---|---|
iss |
string |
Die Aussteller-ID. Immer https://accounts.google.com. |
sub |
string |
Eine Kennung für den Nutzer, die für alle Google-Konten eindeutig ist und nie wiederverwendet wird. |
aud |
string |
Die Zielgruppe, für die das ID-Token bestimmt ist. Dies ist die Client-ID Ihrer Anwendung, die Sie in der Google Cloud Console erhalten. |
iat |
integer |
Zeitpunkt, zu dem das JWT ausgestellt wurde. Wird als Anzahl der Sekunden seit 1970-01-01T0:0:0Z in UTC angegeben. |
exp |
integer |
Ablaufzeit, nach der das ID-Token nicht mehr für die Verarbeitung akzeptiert werden darf. Wird als Anzahl der Sekunden seit 1970-01-01T0:0:0Z in UTC angegeben. |
email |
string |
Die E-Mail-Adresse des Nutzers. |
email_verified |
string |
Gibt an, ob die E-Mail-Adresse des Nutzers bestätigt wurde. Der Wert ist ein String "true" oder "false". |
access_type |
string |
Der in der ursprünglichen Autorisierungsanfrage angeforderte Zugriffstyp. |
azp |
string |
Die Client-ID des autorisierten Moderators, die in der Google Cloud Console abgerufen werden kann. |
scope |
string |
Die durch Leerzeichen getrennte Liste der Bereiche, die dem Token gewährt wurden. |
alg |
string |
Der Algorithmus, der zum Signieren des ID-Tokens verwendet wird. |
kid |
string |
Die Schlüssel-ID, die zum Signieren des ID-Tokens verwendet wird. |
typ |
string |
Der Typ des Tokens. Immer JWT. |