Konten werden über die Branchenstandard-OAuth 2.0-Vorgänge implizit und Autorisierungscode verknüpft.
Ihr Dienst muss OAuth 2.0-kompatible Autorisierungs- und Tokenaustausch-Endpunkte unterstützen.Im impliziten Ablauf öffnet Google Ihren Autorisierungsendpunkt im Browser des Nutzers. Nach erfolgreicher Anmeldung geben Sie ein langlebiges Zugriffstoken an Google zurück. Dieses Zugriffstoken ist jetzt in jeder von Google gesendeten Anfrage enthalten.
Beim Autorisierungscode-Ablauf benötigen Sie zwei Endpunkte:
Der Autorisierungsendpunkt, über den die Anmeldeoberfläche für Nutzer angezeigt wird, die noch nicht angemeldet sind. Am Autorisierungsendpunkt wird auch ein kurzlebiger Autorisierungscode erstellt, um die Einwilligung der Nutzer für den angeforderten Zugriff aufzuzeichnen.
Der Tokenaustausch-Endpunkt, der für zwei Arten von Austauschvorgängen zuständig ist:
- Tauscht einen Autorisierungscode gegen ein langlebiges Aktualisierungstoken und ein kurzlebiges Zugriffstoken ein. Dieser Austausch findet statt, wenn der Nutzer den Ablauf zur Kontoverknüpfung durchläuft.
- Tauscht ein langlebiges Aktualisierungstoken gegen ein kurzlebiges Zugriffstoken ein. Dieser Austausch erfolgt, wenn Google ein neues Zugriffstoken benötigt, weil das vorhandene abgelaufen ist.
OAuth 2.0-Vorgang auswählen
Der implizite Ablauf ist zwar einfacher zu implementieren, Google empfiehlt jedoch, dass Zugriffstokens, die über den impliziten Ablauf ausgestellt werden, niemals ablaufen. Das liegt daran, dass der Nutzer sein Konto nach Ablauf eines Tokens mit dem impliziten Ablauf noch einmal verknüpfen muss. Wenn Sie aus Sicherheitsgründen ein Ablaufdatum für Tokens benötigen, empfehlen wir dringend, stattdessen den Autorisierungscode-Ablauf zu verwenden.
Gestaltungsrichtlinien
In diesem Abschnitt werden die Designanforderungen und ‑empfehlungen für den Nutzerbildschirm beschrieben, den Sie für OAuth-Verknüpfungsabläufe hosten. Nachdem die Funktion von der Google-App aufgerufen wurde, zeigt Ihre Plattform dem Nutzer eine Anmeldeseite für Google und einen Bildschirm zur Einwilligung in die Kontoverknüpfung an. Nachdem der Nutzer der Kontoverknüpfung zugestimmt hat, wird er zur Google-App zurückgeleitet.
Voraussetzungen
- Sie müssen dem Nutzer mitteilen, dass sein Konto mit Google verknüpft wird, nicht mit einem bestimmten Google-Produkt wie Google Home oder Google Assistant.
Empfehlungen
Wir empfehlen Folgendes:
Datenschutzerklärung von Google anzeigen Fügen Sie auf dem Zustimmungsbildschirm einen Link zur Datenschutzerklärung von Google ein.
Zu teilende Daten: Verwenden Sie eine klare und prägnante Sprache, um dem Nutzer mitzuteilen, welche seiner Daten Google benötigt und warum.
Klarer Call-to-Action: Geben Sie auf dem Einwilligungsbildschirm einen eindeutigen Call-to-Action an, z. B. „Zustimmen und verknüpfen“. Nutzer müssen wissen, welche Daten sie mit Google teilen müssen, um ihre Konten zu verknüpfen.
Möglichkeit zur Kündigung Bieten Sie Nutzern die Möglichkeit, zurückzugehen oder abzubrechen, wenn sie die Verknüpfung nicht herstellen möchten.
Übersichtlicher Anmeldevorgang: Sorgen Sie dafür, dass Nutzer sich auf einfache Weise in ihrem Google-Konto anmelden können, z. B. über Felder für Nutzernamen und Passwort oder über Mit Google anmelden.
Möglichkeit, die Verknüpfung aufzuheben: Bieten Sie Nutzern eine Möglichkeit, die Verknüpfung aufzuheben, z. B. über eine URL zu ihren Kontoeinstellungen auf Ihrer Plattform. Alternativ können Sie einen Link zu Google-Konto einfügen, über den Nutzer ihr verknüpftes Konto verwalten können.
Nutzerkonto ändern: Schlagen Sie Nutzern eine Methode vor, mit der sie ihr(e) Konto(s) wechseln können. Das ist besonders dann von Vorteil, wenn Nutzer mehrere Konten haben.
- Wenn ein Nutzer den Zustimmungsbildschirm schließen muss, um das Konto zu wechseln, senden Sie einen behebaren Fehler an Google, damit sich der Nutzer mit OAuth-Verknüpfung und dem impliziten Ablauf im gewünschten Konto anmelden kann.
Fügen Sie Ihr Logo ein. Ihr Unternehmenslogo auf dem Zustimmungsbildschirm anzeigen Platzieren Sie Ihr Logo gemäß Ihren Style-Richtlinien. Wenn Sie auch das Google-Logo anzeigen möchten, lesen Sie den Abschnitt Logos und Marken.
Projekt erstellen
So erstellen Sie Ihr Projekt für die Kontoverknüpfung:
- Gehen Sie zur Google API Console.
- Klicken Sie auf Projekt erstellen.
- Geben Sie einen Namen ein oder übernehmen Sie den generierten Vorschlag.
- Bestätigen oder bearbeiten Sie die verbleibenden Felder.
- Klicken Sie auf Erstellen.
So rufen Sie Ihre Projekt-ID auf:
- Gehen Sie zur Google API Console.
- Suchen Sie in der Tabelle auf der Landingpage nach Ihrem Projekt. Die Projekt-ID wird in der Spalte ID angezeigt.
OAuth-Zustimmungsbildschirm konfigurieren
Der Prozess zur Verknüpfung von Google-Konten umfasst einen Zustimmungsbildschirm, auf dem Nutzer darüber informiert werden, welche Anwendung Zugriff auf ihre Daten anfordert, welche Art von Daten angefordert werden und welche Nutzungsbedingungen gelten. Sie müssen den OAuth-Zustimmungsbildschirm konfigurieren, bevor Sie eine Google API-Client-ID generieren.
- Öffnen Sie in der Google APIs Console die Seite OAuth-Zustimmungsbildschirm.
- Wählen Sie bei Aufforderung das Projekt aus, das Sie gerade erstellt haben.
Füllen Sie auf der Seite „OAuth-Zustimmungsbildschirm“ das Formular aus und klicken Sie auf die Schaltfläche „Speichern“.
Anwendungsname:Der Name der Anwendung, die um Einwilligung bittet. Der Name sollte Ihre Anwendung korrekt widerspiegeln und mit dem Anwendungsnamen übereinstimmen, den Nutzer an anderer Stelle sehen. Der Anwendungsname wird auf dem Zustimmungsbildschirm für die Kontoverknüpfung angezeigt.
App-Logo:Ein Bild auf dem Zustimmungsbildschirm, das Nutzern hilft, Ihre App zu erkennen. Das Logo wird auf dem Zustimmungsbildschirm für die Kontoverknüpfung und in den Kontoeinstellungen angezeigt.
Support-E-Mail-Adresse:Für Nutzer, die Sie wegen Fragen zu ihrer Einwilligung kontaktieren möchten.
Bereiche für Google-APIs:Mit Bereichen kann Ihre Anwendung auf die privaten Google-Daten Ihrer Nutzer zugreifen. Für die Verknüpfung von Google-Konten reicht der Standardbereich („email“, „profile“, „openid“) aus. Sie müssen keine sensiblen Bereiche hinzufügen. Es empfiehlt sich, Bereiche inkrementell anzufordern, wenn der Zugriff erforderlich ist, und nicht im Voraus. Weitere Informationen
Autorisierte Domains:Um Sie und Ihre Nutzer zu schützen, erlaubt Google die Nutzung autorisierter Domains nur Anwendungen, die sich mit OAuth authentifizieren. Die Links Ihrer Anwendungen müssen auf autorisierten Domains gehostet werden. Weitere Informationen
Link zur Startseite der Anwendung:Startseite Ihrer Anwendung. Muss auf einer autorisierten Domain gehostet werden.
Link zur Datenschutzerklärung der Anwendung:Wird auf dem Zustimmungsbildschirm für die Verknüpfung von Google-Konten angezeigt. Muss auf einer autorisierten Domain gehostet werden.
Link zu den Nutzungsbedingungen der Anwendung (optional): Muss auf einer autorisierten Domain gehostet werden.
Abbildung 1. Zustimmungsbildschirm für die Google-Kontoverknüpfung für die fiktive App „Tunery“
Prüfen Sie den „Überprüfungsstatus“. Wenn Ihre Anwendung überprüft werden muss, klicken Sie auf die Schaltfläche „Zur Überprüfung einreichen“, um sie zur Überprüfung einzureichen. Weitere Informationen finden Sie unter Voraussetzungen für die OAuth-Überprüfung.
OAuth-Server implementieren
Eine OAuth 2.0-Serverimplementierung des Autorisierungscode-Vorgangs besteht aus zwei Endpunkten, die Ihr Dienst über HTTPS zur Verfügung stellt. Der erste Endpunkt ist der Autorisierungsendpunkt, der dafür zuständig ist, die Einwilligung von Nutzern für den Datenzugriff zu finden oder einzuholen. Der Autorisierungsendpunkt präsentiert Nutzern, die noch nicht angemeldet sind, eine Anmelde-UI und erfasst die Einwilligung für den angeforderten Zugriff. Der zweite Endpunkt ist der Tokenaustausch-Endpunkt, der verwendet wird, um verschlüsselte Strings (Tokens) zu erhalten, die einen Nutzer zum Zugriff auf Ihren Dienst autorisieren.
Wenn eine Google-Anwendung eine der APIs Ihres Dienstes aufrufen muss, verwendet Google diese Endpunkte zusammen, um die Berechtigung von Ihren Nutzern zu erhalten, diese APIs in ihrem Namen aufzurufen.
Google-Kontoverknüpfung: OAuth-Autorisierungscode-Vorgang
Das folgende Sequenzdiagramm zeigt die Interaktionen zwischen dem Nutzer, Google und den Endpunkten Ihres Dienstes.
Rollen und Verantwortlichkeiten
In der folgenden Tabelle werden die Rollen und Verantwortlichkeiten der Akteure im OAuth-Vorgang für die Google-Kontoverknüpfung (Google Account Linking, GAL) definiert. Bei GAL fungiert Google als der OAuth Client, während Ihr Dienst als der Identitäts-/Dienstanbieter fungiert.
| Akteur / Komponente | GAL-Rolle | Zuständigkeiten |
|---|---|---|
| Google App / Server | OAuth-Client | Leitet den Vorgang ein, empfängt den Autorisierungscode, tauscht ihn gegen Tokens ein und speichert sie sicher, um auf die APIs Ihres Dienstes zuzugreifen. |
| Ihr Autorisierungsendpunkt | Autorisierungsserver | Authentifiziert Ihre Nutzer und holt ihre Einwilligung ein, den Zugriff auf ihre Daten für Google freizugeben. |
| Ihr Tokenaustausch-Endpunkt | Autorisierungsserver | Validiert Autorisierungscodes und Aktualisierungstokens und stellt dem Google-Server Zugriffstokens aus. |
| Google-Weiterleitungs-URI | Rückrufendpunkt | Empfängt die Nutzerweiterleitung von Ihrem Autorisierungsdienst mit den
code und state Werten. |
Eine von Google initiierte OAuth 2.0-Autorisierungscode-Vorgangssitzung hat den folgenden Ablauf:
- Google öffnet Ihren Autorisierungsendpunkt im Browser des Nutzers. Wenn der Vorgang auf einem reinen Sprachgerät für eine Aktion gestartet wurde, überträgt Google die Ausführung auf ein Smartphone.
- Der Nutzer meldet sich an, falls er noch nicht angemeldet ist, und gewährt Google die Berechtigung, mit Ihrer API auf seine Daten zuzugreifen, falls er die Berechtigung noch nicht erteilt hat.
- Ihr Dienst erstellt einen Autorisierungscode und gibt ihn an Google zurück. Dazu leiten Sie den Browser des Nutzers mit dem Autorisierungscode, der an die Anfrage angehängt ist, an Google zurück.
- Google sendet den Autorisierungscode an Ihren Tokenaustausch-Endpunkt, der die Authentizität des Codes überprüft und ein Zugriffstoken und ein Aktualisierungstoken zurückgibt. Das Zugriffstoken ist ein kurzlebiges Token, das Ihr Dienst als Anmeldedaten für den Zugriff auf APIs akzeptiert. Das Aktualisierungstoken ist ein langlebiges Token, das Google speichern und verwenden kann, um neue Zugriffstokens zu erhalten, wenn sie ablaufen.
- Nachdem der Nutzer den Vorgang für die Kontoverknüpfung abgeschlossen hat, enthält jede nachfolgende Anfrage von Google ein Zugriffstoken.
Autorisierungsanfragen verarbeiten
Wenn Sie die Kontoverknüpfung mit dem OAuth 2.0-Autorisierungscode-Vorgang durchführen müssen, sendet Google den Nutzer mit einer Anfrage, die die folgenden Parameter enthält, an Ihren Autorisierungsendpunkt:
| Parameter des Autorisierungsendpunkts | |
|---|---|
client_id |
Die Client-ID, die Sie Google zugewiesen haben. |
redirect_uri |
Die URL, an die Sie die Antwort auf diese Anfrage senden. |
state |
Ein Nachverfolgungswert, der in der Weiterleitungs-URI unverändert an Google zurückgegeben wird. |
scope |
Optional: Eine durch Leerzeichen getrennte Menge von Bereichsstrings, die die Daten angeben, für die Google eine Autorisierung anfordert. |
response_type |
Der Typ des Werts, der in der Antwort zurückgegeben werden soll. Für den OAuth 2.0
Autorisierungscode-Vorgang ist der Antworttyp immer code.
|
user_locale |
Die Google-Kontosprachoption im RFC5646 Format, die verwendet wird, um Ihre Inhalte in der bevorzugten Sprache des Nutzers zu lokalisieren. |
Wenn Ihr Autorisierungsendpunkt beispielsweise unter https://myservice.example.com/auth verfügbar ist, könnte eine Anfrage so aussehen:
GET https://myservice.example.com/auth?client_id=GOOGLE_CLIENT_ID&redirect_uri=REDIRECT_URI&state=STATE_STRING&scope=REQUESTED_SCOPES&response_type=code&user_locale=LOCALE
So verarbeitet Ihr Autorisierungsendpunkt Anmeldeanfragen:
- Prüfen Sie, ob die
client_idmit der Client-ID übereinstimmt, die Sie Google zugewiesen haben, und ob dieredirect_urimit der von Google für Ihren Dienst bereitgestellten Weiterleitungs-URL übereinstimmt. Diese Prüfungen sind wichtig, um zu verhindern, dass nicht beabsichtigten oder falsch konfigurierten Client-Apps Zugriff gewährt wird. Wenn Sie mehrere OAuth 2.0-Vorgänge unterstützen, prüfen Sie auch, obresponse_typeaufcodefestgelegt ist. - Prüfen Sie, ob der Nutzer in Ihrem Dienst angemeldet ist. Wenn der Nutzer nicht angemeldet ist, führen Sie den Anmelde- oder Registrierungsvorgang Ihres Dienstes aus.
- Generieren Sie einen Autorisierungscode, mit dem Google auf Ihre API zugreifen kann. Der Autorisierungscode kann ein beliebiger Stringwert sein, muss aber den Nutzer, den Client, für den das Token bestimmt ist, und die Ablaufzeit des Codes eindeutig darstellen und darf nicht erraten werden können. In der Regel stellen Sie Autorisierungscodes aus, die nach etwa 10 Minuten ablaufen.
- Prüfen Sie, ob die URL, die durch den Parameter
redirect_uriangegeben wird, das folgende Format hat:https://oauth-redirect.googleusercontent.com/r/YOUR_PROJECT_ID https://oauth-redirect-sandbox.googleusercontent.com/r/YOUR_PROJECT_ID
- Leiten Sie den Browser des Nutzers an die URL weiter, die durch den
redirect_uriParameter angegeben wird. Fügen Sie den gerade generierten Autorisierungscode und den ursprünglichen, unveränderten Statuswert ein, indem Sie diecodeundstateParameter anhängen. Die resultierende URL sieht beispielsweise so aus:https://oauth-redirect.googleusercontent.com/r/YOUR_PROJECT_ID?code=AUTHORIZATION_CODE&state=STATE_STRING
Tokenaustauschanfragen verarbeiten
Der Tokenaustausch-Endpunkt Ihres Dienstes ist für zwei Arten von Tokenaustausch zuständig:
- Autorisierungscodes gegen Zugriffstokens und Aktualisierungstokens austauschen
- Aktualisierungstokens gegen Zugriffstokens austauschen
Tokenaustauschanfragen enthalten die folgenden Parameter:
| Parameter des Tokenaustausch-Endpunkts | |
|---|---|
client_id |
Ein String, der Google als Ursprung der Anfrage identifiziert. Dieser String muss in Ihrem System als eindeutige Kennung von Google registriert sein. |
client_secret |
Ein geheimer String, den Sie bei Google für Ihren Dienst registriert haben. |
grant_type |
Der Typ des Tokens, das ausgetauscht wird. Er ist entweder
authorization_code oder refresh_token. |
code |
Wenn grant_type=authorization_code, ist dieser Parameter der
Code, den Google entweder von Ihrem Anmelde- oder Tokenaustausch
Endpunkt erhalten hat. |
redirect_uri |
Wenn grant_type=authorization_code, ist dieser Parameter die
URL, die in der ersten Autorisierungsanfrage verwendet wurde. |
refresh_token |
Wenn grant_type=refresh_token, ist dieser Parameter das
Aktualisierungstoken, das Google von Ihrem Tokenaustausch-Endpunkt erhalten hat. |
Autorisierungscodes gegen Zugriffstokens und Aktualisierungstokens austauschen
Nachdem sich der Nutzer angemeldet hat und Ihr Autorisierungsendpunkt einen kurzlebigen Autorisierungscode an Google zurückgegeben hat, sendet Google eine Anfrage an Ihren Tokenaustausch-Endpunkt, um den Autorisierungscode gegen ein Zugriffstoken und ein Aktualisierungstoken auszutauschen.
Bei diesen Anfragen ist der Wert von grant_type ist authorization_code, und der
Wert von code ist der Wert des Autorisierungscodes, den Sie Google zuvor gewährt haben. Das folgende Beispiel zeigt eine Anfrage zum Austauschen eines Autorisierungscodes gegen ein Zugriffstoken und ein Aktualisierungstoken:
POST /token HTTP/1.1 Host: oauth2.example.com Content-Type: application/x-www-form-urlencoded client_id=GOOGLE_CLIENT_ID&client_secret=GOOGLE_CLIENT_SECRET&grant_type=authorization_code&code=AUTHORIZATION_CODE&redirect_uri=REDIRECT_URI
Um Autorisierungscodes gegen ein Zugriffstoken und ein Aktualisierungstoken auszutauschen, antwortet Ihr Tokenaustausch-Endpunkt auf POST-Anfragen, indem er die folgenden Schritte ausführt:
- Prüfen Sie, ob die
client_idden Ursprung der Anfrage als autorisierten Ursprung identifiziert und ob dieclient_secretmit dem erwarteten Wert übereinstimmt. - Prüfen Sie, ob der Autorisierungscode gültig und nicht abgelaufen ist und ob die in der Anfrage angegebene Client-ID mit der Client-ID übereinstimmt, die mit dem Autorisierungscode verknüpft ist.
- Prüfen Sie, ob die URL, die durch den Parameter
redirect_uriangegeben wird, mit dem Wert übereinstimmt, der in der ersten Autorisierungsanfrage verwendet wurde. - Wenn Sie nicht alle oben genannten Kriterien bestätigen können, geben Sie einen HTTP
Fehler 400 Bad Request mit
{"error": "invalid_grant"}als Text zurück. - Verwenden Sie andernfalls die Nutzer-ID aus dem Autorisierungscode, um ein Aktualisierungstoken und ein Zugriffstoken zu generieren. Diese Tokens können beliebige Stringwerte sein, müssen aber den Nutzer und den Client, für den das Token bestimmt ist, eindeutig darstellen und dürfen nicht erraten werden können. Für Zugriffstokens müssen Sie auch die Ablaufzeit des Tokens aufzeichnen, die in der Regel eine Stunde nach der Ausstellung des Tokens liegt. Aktualisierungstokens laufen nicht ab.
- Geben Sie das folgende JSON-Objekt im Text der HTTPS-Antwort zurück:
{ "token_type": "Bearer", "access_token": "ACCESS_TOKEN", "refresh_token": "REFRESH_TOKEN", "expires_in": SECONDS_TO_EXPIRATION }
Google speichert das Zugriffstoken und das Aktualisierungstoken für den Nutzer und erfasst den Ablauf des Zugriffstokens. Wenn das Zugriffstoken abläuft, verwendet Google das Aktualisierungstoken, um ein neues Zugriffstoken von Ihrem Tokenaustausch-Endpunkt zu erhalten.
Aktualisierungstokens gegen Zugriffstokens austauschen
Wenn ein Zugriffstoken abläuft, sendet Google eine Anfrage an Ihren Tokenaustausch-Endpunkt, um ein Aktualisierungstoken gegen ein neues Zugriffstoken auszutauschen.
Bei diesen Anfragen ist der Wert von grant_type refresh_token und der Wert von refresh_token ist der Wert des Aktualisierungstokens, das Sie Google zuvor gewährt haben. Das folgende Beispiel zeigt eine Anfrage zum Austauschen eines Aktualisierungstokens gegen ein Zugriffstoken:
POST /token HTTP/1.1 Host: oauth2.example.com Content-Type: application/x-www-form-urlencoded client_id=GOOGLE_CLIENT_ID&client_secret=GOOGLE_CLIENT_SECRET&grant_type=refresh_token&refresh_token=REFRESH_TOKEN
Um ein Aktualisierungstoken gegen ein Zugriffstoken auszutauschen, antwortet Ihr Tokenaustausch-Endpunkt auf POST-Anfragen, indem er die folgenden Schritte ausführt:
- Prüfen Sie, ob die
client_idden Ursprung der Anfrage als Google identifiziert und ob dieclient_secretmit dem erwarteten Wert übereinstimmt. - Prüfen Sie, ob das Aktualisierungstoken gültig ist und ob die in der Anfrage angegebene Client-ID mit der Client-ID übereinstimmt, die mit dem Aktualisierungstoken verknüpft ist.
- Wenn Sie nicht alle oben genannten Kriterien bestätigen können, geben Sie einen HTTP-Fehler 400
Bad Request mit
{"error": "invalid_grant"}als Text zurück. - Verwenden Sie andernfalls die Nutzer-ID aus dem Aktualisierungstoken, um ein Zugriffstoken zu generieren. Diese Tokens können beliebige Stringwerte sein, müssen aber den Nutzer und den Client, für den das Token bestimmt ist, eindeutig darstellen und dürfen nicht erraten werden können. Für Zugriffstokens müssen Sie auch die Ablaufzeit des Tokens aufzeichnen, die in der Regel eine Stunde nach der Ausstellung des Tokens liegt.
- Geben Sie das folgende JSON-Objekt im Text der HTTPS-Antwort zurück:
{ "token_type": "Bearer", "access_token": "ACCESS_TOKEN", "expires_in": SECONDS_TO_EXPIRATION }
userinfo-Anfragen verarbeiten
Der userinfo-Endpunkt ist eine geschützte OAuth 2.0-Ressource, die Ansprüche über den verknüpften Nutzer zurückgibt. Die Implementierung und das Hosten des userinfo-Endpunkts sind mit Ausnahme der folgenden Anwendungsfälle optional:
- Anmeldung in einem verknüpften Konto über Google One Tap.
- Reibungsloses Abo auf Android TV
Nachdem das Zugriffstoken erfolgreich von Ihrem Tokenendpunkt abgerufen wurde, sendet Google eine Anfrage an Ihren userinfo-Endpunkt, um grundlegende Profilinformationen über den verknüpften Nutzer abzurufen.
| Anfrageheader für userinfo-Endpunkt | |
|---|---|
Authorization header |
Das Zugriffstoken vom Typ „Bearer“. |
Wenn Ihr userinfo-Endpunkt beispielsweise unter
https://myservice.example.com/userinfo, kann eine Anfrage so aussehen:
GET /userinfo HTTP/1.1 Host: myservice.example.com Authorization: Bearer ACCESS_TOKEN
Führen Sie die folgenden Schritte aus, damit der userinfo-Endpunkt Anfragen verarbeiten kann:
- Extrahieren Sie das Zugriffstoken aus dem Autorisierungs-Header und geben Sie Informationen für den Nutzer zurück, der mit dem Zugriffstoken verknüpft ist.
- Wenn das Zugriffstoken ungültig ist, gib den Fehler „HTTP 401 Unauthorized“ mit dem Antwortheader
WWW-Authenticatezurück. Hier ist ein Beispiel für eine Userinfo-Fehlerantwort: Wenn während des Verknüpfungsvorgangs der Fehler „401 Nicht autorisiert“ oder eine andere fehlgeschlagene Fehlermeldung zurückgegeben wird, kann der Fehler nicht behoben werden. Das abgerufene Token wird verworfen und der Nutzer muss den Verknüpfungsvorgang noch einmal starten.HTTP/1.1 401 Unauthorized WWW-Authenticate: error="invalid_token", error_description="The Access Token expired"
Wenn das Zugriffstoken gültig ist, geben Sie eine HTTP 200-Antwort mit dem folgenden JSON-Objekt im Text des HTTPS-Objekts zurück. Antwort:
Wenn der userinfo-Endpunkt eine HTTP 200-Erfolgsantwort zurückgibt, werden das abgerufene Token und die Anforderungen im Google-Konto des Nutzers registriert.{ "sub": "USER_UUID", "email": "EMAIL_ADDRESS", "given_name": "FIRST_NAME", "family_name": "LAST_NAME", "name": "FULL_NAME", "picture": "PROFILE_PICTURE", }Userinfo-Endpunktantwort subEine eindeutige ID, die den Nutzer in Ihrem System identifiziert. emailE-Mail-Adresse des Nutzers given_nameOptional:Vorname des Nutzers. family_nameOptional:Nachname des Nutzers. nameOptional:Vollständiger Name des Nutzers. pictureOptional:Profilbild des Nutzers.
Implementierung validieren
Sie können Ihre Implementierung mit dem OAuth 2.0 Playground Tool validieren.
Führen Sie im Tool die folgenden Schritte aus:
- Klicken Sie auf die Konfigurationseinstellungen , um das Fenster „OAuth 2.0-Konfiguration“ zu öffnen.
- Wählen Sie im Feld OAuth-Ablauf die Option Clientseitig aus.
- Wählen Sie im Feld OAuth-Endpunkte die Option Benutzerdefiniert aus.
- Geben Sie in den entsprechenden Feldern Ihren OAuth 2.0-Endpunkt und die Client-ID an, die Sie Google zugewiesen haben.
- Wählen Sie im Abschnitt Schritt 1 keine Google-Bereiche aus. Lassen Sie dieses Feld stattdessen leer oder geben Sie einen für Ihren Server gültigen Bereich ein (oder eine beliebige Zeichenfolge, wenn Sie keine OAuth-Bereiche verwenden). Klicken Sie anschließend auf APIs autorisieren.
- Führen Sie in den Abschnitten Schritt 2 und Schritt 3 den OAuth 2.0-Ablauf durch und prüfen Sie, ob jeder Schritt wie vorgesehen funktioniert.
Sie können Ihre Implementierung mit dem Tool „Google-Kontoverknüpfung – Demo“ validieren.
Führen Sie im Tool die folgenden Schritte aus:
- Klicken Sie auf die Schaltfläche Mit Google anmelden.
- Wählen Sie das Konto aus, das Sie verknüpfen möchten.
- Geben Sie die Dienst-ID ein.
- Optional können Sie einen oder mehrere Bereiche eingeben, für die Sie Zugriff anfordern möchten.
- Klicken Sie auf Demo starten.
- Bestätigen Sie bei Aufforderung, dass Sie der Verknüpfungsanfrage zustimmen und sie ablehnen können.
- Bestätigen Sie, dass Sie zu Ihrer Plattform weitergeleitet werden.