Optimierte Verknüpfung mit OAuth und Google Log-in

Übersicht

OAuth-basierte optimierte Google Log-in-Verknüpfung fügt Google Log-in zusätzlich zu OAuth-Verknüpfungen hinzu. Dies ermöglicht Google-Nutzern eine nahtlose Verknüpfung und ermöglicht außerdem die Kontoerstellung, sodass der Nutzer über sein Google-Konto ein neues Konto in Ihrem Dienst erstellen kann.

Führe die folgenden allgemeinen Schritte aus, um eine Kontoverknüpfung mit OAuth und Google Log-in durchzuführen:

  1. Bitten Sie den Nutzer zuerst um seine Einwilligung für den Zugriff auf sein Google-Profil.
  2. Prüfen Sie anhand der Angaben im Profil, ob das Nutzerkonto vorhanden ist.
  3. Verknüpfen Sie bestehende Konten.
  4. Wenn Sie in Ihrem Authentifizierungssystem keine Übereinstimmung für den Google-Nutzer finden, prüfen Sie das von Google erhaltene ID-Token. Sie können dann anhand der im ID-Token enthaltenen Profilinformationen einen Nutzer erstellen.
Diese Abbildung zeigt die Schritte, mit denen ein Nutzer sein Google-Konto mithilfe des optimierten Verknüpfungsvorgangs verknüpfen kann. Der erste Screenshot zeigt, wie ein Nutzer Ihre App für die Verknüpfung auswählen kann. Auf dem zweiten Screenshot kann der Nutzer bestätigen, ob er schon ein Konto bei Ihrem Dienst hat. Auf dem dritten Screenshot kann der Nutzer das Google-Konto auswählen, das er verknüpfen möchte. Der vierte Screenshot zeigt die Bestätigung der Verknüpfung des Google-Kontos mit der App. Der fünfte Screenshot zeigt ein erfolgreich verknüpftes Nutzerkonto in der Google App.

Abbildung 1. Kontoverknüpfung auf dem Smartphone eines Nutzers mit optimierter Verknüpfung

Voraussetzungen für eine optimierte Verknüpfung

OAuth-Server implementieren

Der Endpunkt Tokenaustausch muss die Intents check, create und get unterstützen. Im Folgenden sehen Sie die Schritte, die während der Kontoverknüpfung ausgeführt wurden. Außerdem wird angegeben, wann die verschiedenen Intents aufgerufen werden:

  1. Hat der Nutzer ein Konto in Ihrem Authentifizierungssystem? (Nutzer entscheidet mit „Ja“ oder „Nein“).
    1. JA : Verwendet der Nutzer die mit seinem Google-Konto verknüpfte E-Mail-Adresse, um sich auf deiner Plattform anzumelden? (Nutzer entscheidet mit „Ja“ oder „Nein“).
      1. JA : Hat der Nutzer ein übereinstimmendes Konto in Ihrem Authentifizierungssystem? (check intent wird zur Bestätigung aufgerufen)
        1. JA: get intent wird aufgerufen und das Konto wird verknüpft, wenn Intent abgerufen werden kann.
        2. NEIN : Neues Konto erstellen? (Nutzer entscheidet mit „Ja“ oder „Nein“).
          1. JA : create intent wird aufgerufen und das Konto wird verknüpft, wenn die Intent-Erstellung erfolgreich zurückgegeben wurde.
          2. NEIN : Der OAuth-Ablauf im Web wird ausgelöst, der Nutzer wird zu seinem Browser weitergeleitet und der Nutzer kann eine Verknüpfung mit einer anderen E-Mail-Adresse herstellen.
      2. NEIN : Der Web-OAuth-Ablauf wird ausgelöst, der Nutzer wird zu seinem Browser weitergeleitet und der Nutzer kann eine andere E-Mail-Adresse verwenden.
    2. NEIN : Hat der Nutzer ein übereinstimmendes Konto in Ihrem Authentifizierungssystem? (check intent wird zur Bestätigung aufgerufen)
      1. JA : get intent wird aufgerufen und das Konto wird verknüpft, wenn Intent abgerufen werden kann.
      2. NEIN : create intent wird aufgerufen und das Konto wird verknüpft, wenn die Intent-Erstellung erfolgreich zurückgegeben wurde.

Nach vorhandenem Nutzerkonto suchen (Intent überprüfen)

Wenn der Nutzer in die Verwendung seines Google-Profils einwilligt, sendet Google eine Anfrage mit einer signierten Assertion zur Identität des Google-Nutzers. Die Assertion enthält Informationen, die die Google-Konto-ID, den Namen und die E-Mail-Adresse des Nutzers enthalten. Der für Ihr Projekt konfigurierte Token Exchange-Endpunkt verarbeitet diese Anfrage.

Wenn das entsprechende Google-Konto bereits in Ihrem Authentifizierungssystem vorhanden ist, antwortet Ihr Token-Exchange-Endpunkt mit account_found=true. Wenn das Google-Konto mit einem vorhandenen Nutzer übereinstimmt, gibt der Tokenaustausch-Endpunkt den HTTP-Fehler 404 (nicht gefunden) mit account_found=false zurück.

Die Anfrage hat folgendes Format:

POST /token HTTP/1.1
Host: oauth2.example.com
Content-Type: application/x-www-form-urlencoded

grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&intent=check&assertion=JWT&scope=SCOPES&client_id=GOOGLE_CLIENT_ID&client_secret=GOOGLE_CLIENT_SECRET

Der Token-Exchange-Endpunkt muss die folgenden Parameter verarbeiten können:

Parameter-Endpunktparameter
intent Bei diesen Anfragen hat der Parameter den Wert check.
grant_type Der Typ des ausgetauschten Tokens. Für diese Anfragen hat dieser Parameter den Wert urn:ietf:params:oauth:grant-type:jwt-bearer.
assertion Ein JSON Web Token (JWT), das eine signierte Assertion der Identität des Google-Nutzers bereitstellt. Das JWT enthält Informationen, die die Google-Konto-ID, den Namen und die E-Mail-Adresse des Nutzers enthalten.
client_id Die Client-ID, die Sie Google zugewiesen haben.
client_secret Der Clientschlüssel, den Sie Google zugewiesen haben.

Damit Sie auf die check-Intent-Anfragen antworten können, muss Ihr Token Exchange-Endpunkt die folgenden Schritte ausführen:

  • JWT-Assertion validieren und decodieren
  • Prüfen Sie, ob das Google-Konto bereits in Ihrem Authentifizierungssystem vorhanden ist.
JWT-Assertion validieren und decodieren

Sie können die JWT-Assertion mit einem JWT-Decodierungsbibliothek für Ihre Sprache. Verwenden Sie Die öffentlichen Schlüssel von Google, verfügbar in JWK oder PEM, zur Überprüfung die Signatur des Tokens.

Nach der Decodierung sieht die JWT-Assertion so aus:

{
  "sub": "1234567890",      // The unique ID of the user's Google Account
  "iss": "https://accounts.google.com",        // The assertion's issuer
  "aud": "123-abc.apps.googleusercontent.com", // Your server's client ID
  "iat": 233366400,         // Unix timestamp of the assertion's creation time
  "exp": 233370000,         // Unix timestamp of the assertion's expiration time
  "name": "Jan Jansen",
  "given_name": "Jan",
  "family_name": "Jansen",
  "email": "jan@gmail.com", // If present, the user's email address
  "email_verified": true,   // true, if Google has verified the email address
  "hd": "example.com",      // If present, the host domain of the user's GSuite email address
                            // If present, a URL to user's profile picture
  "picture": "https://lh3.googleusercontent.com/a-/AOh14GjlTnZKHAeb94A-FmEbwZv7uJD986VOF1mJGb2YYQ",
  "locale": "en_US"         // User's locale, from browser or phone settings
}

Neben der Verifizierung der Tokensignatur müssen Sie auch prüfen, ob die Aussteller (Feld iss) ist https://accounts.google.com, die Zielgruppe (Feld aud) enthält Ihre zugewiesene Client-ID und das Token, das nicht abgelaufen ist. (Feld exp).

Mit den Feldern email, email_verified und hd können Sie festlegen, Google hostet eine E-Mail-Adresse und ist für sie maßgeblich. In Fällen, in denen Google autoritativer Nutzer, der derzeit als rechtmäßiger Kontoinhaber bekannt ist und Sie können das Passwort oder andere Methoden zur Identitätsbestätigung überspringen. Andernfalls werden diese Methoden kann vor der Verknüpfung zur Bestätigung des Kontos verwendet werden.

Fälle, in denen Google als vertrauenswürdig eingestuft wird:

  • email hat das Suffix @gmail.com. Dies ist ein Gmail-Konto.
  • email_verified ist „true“ und hd ist festgelegt. Dies ist ein G Suite-Konto.

Nutzer können sich für ein Google-Konto registrieren, ohne Gmail oder die G Suite zu verwenden. Wann? email enthält kein @gmail.com-Suffix und hd fehlt. Google ist kein werden zur Bestätigung der Identität empfohlen, Nutzenden. email_verified kann auch „true“ sein, da Google das Nutzer beim Erstellen des Google-Kontos, aber die Inhaberschaft des Drittanbieters Ihr E-Mail-Konto hat sich in der Zwischenzeit möglicherweise geändert.

Prüfen, ob das Google-Konto bereits in Ihrem Authentifizierungssystem vorhanden ist

Prüfen Sie, ob eine der folgenden Bedingungen erfüllt ist:

  • Die Google-Konto-ID, die im Feld „Assertions“ sub aufgeführt ist, befindet sich in deiner Nutzerdatenbank.
  • Die E-Mail-Adresse in der Assertion stimmt mit einem Nutzer in Ihrer Nutzerdatenbank überein.

Wenn eine der Bedingungen erfüllt ist, hat sich der Nutzer bereits registriert. In diesem Fall erhältst du eine Antwort wie die folgende:

HTTP/1.1 200 Success
Content-Type: application/json;charset=UTF-8

{
  "account_found":"true",
}

Wenn weder die Google-Konto-ID noch die in der Änderung angegebene E-Mail-Adresse mit einem Nutzer in Ihrer Datenbank übereinstimmt, hat sich der Nutzer noch nicht registriert. In diesem Fall muss der Tokenaustausch-Endpunkt mit einem HTTP 404-Fehler antworten, der "account_found": "false" angibt, wie im folgenden Beispiel gezeigt:

HTTP/1.1 404 Not found
Content-Type: application/json;charset=UTF-8

{
  "account_found":"false",
}

Automatische Verknüpfung verarbeiten (Intent)

Wenn der Nutzer in die Verwendung seines Google-Profils einwilligt, sendet Google eine Anfrage mit einer signierten Assertion zur Identität des Google-Nutzers. Die Assertion enthält Informationen, die die Google-Konto-ID, den Namen und die E-Mail-Adresse des Nutzers enthalten. Der für Ihr Projekt konfigurierte Token Exchange-Endpunkt verarbeitet diese Anfrage.

Wenn das entsprechende Google-Konto bereits in Ihrem Authentifizierungssystem vorhanden ist, gibt Ihr Token-Austausch-Endpunkt ein Token für den Nutzer zurück. Wenn das Google-Konto mit einem vorhandenen Nutzer übereinstimmt, gibt der Tokenaustausch-Endpunkt den Fehler linking_error und optional login_hint zurück.

Die Anfrage hat folgendes Format:

POST /token HTTP/1.1
Host: oauth2.example.com
Content-Type: application/x-www-form-urlencoded

grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&intent=get&assertion=JWT&scope=SCOPES&client_id=GOOGLE_CLIENT_ID&client_secret=GOOGLE_CLIENT_SECRET

Der Token-Exchange-Endpunkt muss die folgenden Parameter verarbeiten können:

Parameter-Endpunktparameter
intent Bei diesen Anfragen hat der Parameter den Wert get.
grant_type Der Typ des ausgetauschten Tokens. Für diese Anfragen hat dieser Parameter den Wert urn:ietf:params:oauth:grant-type:jwt-bearer.
assertion Ein JSON Web Token (JWT), das eine signierte Assertion der Identität des Google-Nutzers bereitstellt. Das JWT enthält Informationen, die die Google-Konto-ID, den Namen und die E-Mail-Adresse des Nutzers enthalten.
scope Optional:Alle Bereiche, für die Sie Google so konfiguriert haben, dass sie von Nutzern angefordert werden.
client_id Die Client-ID, die Sie Google zugewiesen haben.
client_secret Der Clientschlüssel, den Sie Google zugewiesen haben.

Damit Sie auf die get-Intent-Anfragen antworten können, muss Ihr Token Exchange-Endpunkt die folgenden Schritte ausführen:

  • JWT-Assertion validieren und decodieren
  • Prüfen Sie, ob das Google-Konto bereits in Ihrem Authentifizierungssystem vorhanden ist.
JWT-Assertion validieren und decodieren

Sie können die JWT-Assertion mit einem JWT-Decodierungsbibliothek für Ihre Sprache. Verwenden Sie Die öffentlichen Schlüssel von Google, verfügbar in JWK oder PEM, zur Überprüfung die Signatur des Tokens.

Nach der Decodierung sieht die JWT-Assertion so aus:

{
  "sub": "1234567890",      // The unique ID of the user's Google Account
  "iss": "https://accounts.google.com",        // The assertion's issuer
  "aud": "123-abc.apps.googleusercontent.com", // Your server's client ID
  "iat": 233366400,         // Unix timestamp of the assertion's creation time
  "exp": 233370000,         // Unix timestamp of the assertion's expiration time
  "name": "Jan Jansen",
  "given_name": "Jan",
  "family_name": "Jansen",
  "email": "jan@gmail.com", // If present, the user's email address
  "email_verified": true,   // true, if Google has verified the email address
  "hd": "example.com",      // If present, the host domain of the user's GSuite email address
                            // If present, a URL to user's profile picture
  "picture": "https://lh3.googleusercontent.com/a-/AOh14GjlTnZKHAeb94A-FmEbwZv7uJD986VOF1mJGb2YYQ",
  "locale": "en_US"         // User's locale, from browser or phone settings
}

Neben der Verifizierung der Tokensignatur müssen Sie auch prüfen, ob die Aussteller (Feld iss) ist https://accounts.google.com, die Zielgruppe (Feld aud) enthält Ihre zugewiesene Client-ID und das Token, das nicht abgelaufen ist. (Feld exp).

Mit den Feldern email, email_verified und hd können Sie festlegen, Google hostet eine E-Mail-Adresse und ist für sie maßgeblich. In Fällen, in denen Google autoritativer Nutzer, der derzeit als rechtmäßiger Kontoinhaber bekannt ist und Sie können das Passwort oder andere Methoden zur Identitätsbestätigung überspringen. Andernfalls werden diese Methoden kann vor der Verknüpfung zur Bestätigung des Kontos verwendet werden.

Fälle, in denen Google als vertrauenswürdig eingestuft wird:

  • email hat das Suffix @gmail.com. Dies ist ein Gmail-Konto.
  • email_verified ist „true“ und hd ist festgelegt. Dies ist ein G Suite-Konto.

Nutzer können sich für ein Google-Konto registrieren, ohne Gmail oder die G Suite zu verwenden. Wann? email enthält kein @gmail.com-Suffix und hd fehlt. Google ist kein werden zur Bestätigung der Identität empfohlen, Nutzenden. email_verified kann auch „true“ sein, da Google das Nutzer beim Erstellen des Google-Kontos, aber die Inhaberschaft des Drittanbieters Ihr E-Mail-Konto hat sich in der Zwischenzeit möglicherweise geändert.

Prüfen, ob das Google-Konto bereits in Ihrem Authentifizierungssystem vorhanden ist

Prüfen Sie, ob eine der folgenden Bedingungen erfüllt ist:

  • Die Google-Konto-ID, die im Feld „Assertions“ sub aufgeführt ist, befindet sich in deiner Nutzerdatenbank.
  • Die E-Mail-Adresse in der Assertion stimmt mit einem Nutzer in Ihrer Nutzerdatenbank überein.

Wenn ein Konto für den Nutzer gefunden wird, ermittle ein Zugriffstoken und gib die Werte in einem JSON-Objekt im Text deiner HTTPS-Antwort zurück, wie im folgenden Beispiel gezeigt:

{
  "token_type": "Bearer",
  "access_token": "ACCESS_TOKEN",

  "expires_in": SECONDS_TO_EXPIRATION
}

In einigen Fällen schlägt die Kontoverknüpfung auf Basis des ID-Tokens möglicherweise für den Nutzer fehl. In diesem Fall muss der Token-Exchange-Endpunkt mit einem HTTP-401-Fehler antworten, in dem error=linking_error angegeben ist, wie im folgenden Beispiel gezeigt:

HTTP/1.1 401 Unauthorized
Content-Type: application/json;charset=UTF-8

{
  "error":"linking_error",
  "login_hint":"foo@bar.com"
}

Wenn Google eine 401-Fehlerantwort mit linking_error erhält, sendet Google den Nutzer an deinen Autorisierungsendpunkt mit dem Parameter login_hint als Parameter. Der Nutzer schließt die Kontoverknüpfung im Browser mit OAuth ab.

Kontoerstellung über Google Log-in durchführen (Intent erstellen)

Wenn ein Nutzer in Ihrem Dienst ein Konto erstellen muss, sendet Google eine Anfrage an Ihren Token Exchange-Endpunkt, der intent=create angibt.

Die Anfrage hat folgendes Format:

POST /token HTTP/1.1
Host: oauth2.example.com
Content-Type: application/x-www-form-urlencoded

response_type=token&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&scope=SCOPES&intent=create&assertion=JWT&client_id=GOOGLE_CLIENT_ID&client_secret=GOOGLE_CLIENT_SECRET

Der Token-Exchange-Endpunkt muss die folgenden Parameter verarbeiten können:

Parameter-Endpunktparameter
intent Bei diesen Anfragen hat der Parameter den Wert create.
grant_type Der Typ des ausgetauschten Tokens. Für diese Anfragen hat dieser Parameter den Wert urn:ietf:params:oauth:grant-type:jwt-bearer.
assertion Ein JSON Web Token (JWT), das eine signierte Assertion der Identität des Google-Nutzers bereitstellt. Das JWT enthält Informationen, die die Google-Konto-ID, den Namen und die E-Mail-Adresse des Nutzers enthalten.
client_id Die Client-ID, die Sie Google zugewiesen haben.
client_secret Der Clientschlüssel, den Sie Google zugewiesen haben.

Das JWT innerhalb des Parameters assertion enthält die Google-Konto-ID, den Namen und die E-Mail-Adresse des Nutzers, mit denen Sie ein neues Konto in Ihrem Dienst erstellen können.

Damit Sie auf die create-Intent-Anfragen antworten können, muss Ihr Token Exchange-Endpunkt die folgenden Schritte ausführen:

  • JWT-Assertion validieren und decodieren
  • Nutzerinformationen bestätigen und neues Konto erstellen.
JWT-Assertion validieren und decodieren

Sie können die JWT-Assertion mit einem JWT-Decodierungsbibliothek für Ihre Sprache. Verwenden Sie Die öffentlichen Schlüssel von Google, verfügbar in JWK oder PEM, zur Überprüfung die Signatur des Tokens.

Nach der Decodierung sieht die JWT-Assertion so aus:

{
  "sub": "1234567890",      // The unique ID of the user's Google Account
  "iss": "https://accounts.google.com",        // The assertion's issuer
  "aud": "123-abc.apps.googleusercontent.com", // Your server's client ID
  "iat": 233366400,         // Unix timestamp of the assertion's creation time
  "exp": 233370000,         // Unix timestamp of the assertion's expiration time
  "name": "Jan Jansen",
  "given_name": "Jan",
  "family_name": "Jansen",
  "email": "jan@gmail.com", // If present, the user's email address
  "email_verified": true,   // true, if Google has verified the email address
  "hd": "example.com",      // If present, the host domain of the user's GSuite email address
                            // If present, a URL to user's profile picture
  "picture": "https://lh3.googleusercontent.com/a-/AOh14GjlTnZKHAeb94A-FmEbwZv7uJD986VOF1mJGb2YYQ",
  "locale": "en_US"         // User's locale, from browser or phone settings
}

Neben der Verifizierung der Tokensignatur müssen Sie auch prüfen, ob die Aussteller (Feld iss) ist https://accounts.google.com, die Zielgruppe (Feld aud) enthält Ihre zugewiesene Client-ID und das Token, das nicht abgelaufen ist. (Feld exp).

Mit den Feldern email, email_verified und hd können Sie festlegen, Google hostet eine E-Mail-Adresse und ist für sie maßgeblich. In Fällen, in denen Google autoritativer Nutzer, der derzeit als rechtmäßiger Kontoinhaber bekannt ist und Sie können das Passwort oder andere Methoden zur Identitätsbestätigung überspringen. Andernfalls werden diese Methoden kann vor der Verknüpfung zur Bestätigung des Kontos verwendet werden.

Fälle, in denen Google als vertrauenswürdig eingestuft wird:

  • email hat das Suffix @gmail.com. Dies ist ein Gmail-Konto.
  • email_verified ist „true“ und hd ist festgelegt. Dies ist ein G Suite-Konto.

Nutzer können sich für ein Google-Konto registrieren, ohne Gmail oder die G Suite zu verwenden. Wann? email enthält kein @gmail.com-Suffix und hd fehlt. Google ist kein werden zur Bestätigung der Identität empfohlen, Nutzenden. email_verified kann auch „true“ sein, da Google das Nutzer beim Erstellen des Google-Kontos, aber die Inhaberschaft des Drittanbieters Ihr E-Mail-Konto hat sich in der Zwischenzeit möglicherweise geändert.

Nutzerinformationen bestätigen und neues Konto erstellen

Prüfen Sie, ob eine der folgenden Bedingungen erfüllt ist:

  • Die Google-Konto-ID, die im Feld „Assertions“ sub aufgeführt ist, befindet sich in deiner Nutzerdatenbank.
  • Die E-Mail-Adresse in der Assertion stimmt mit einem Nutzer in Ihrer Nutzerdatenbank überein.

Wenn eine der Bedingungen erfüllt ist, musst du den Nutzer auffordern, sein vorhandenes Konto mit seinem Google-Konto zu verknüpfen. Antworte dazu auf die Anfrage mit einem HTTP-401-Fehler, der error=linking_error angibt und die E-Mail-Adresse des Nutzers als login_hint angibt. Hier eine Beispielantwort:

HTTP/1.1 401 Unauthorized
Content-Type: application/json;charset=UTF-8

{
  "error":"linking_error",
  "login_hint":"foo@bar.com"
}

Wenn Google eine 401-Fehlerantwort mit linking_error erhält, sendet Google den Nutzer an deinen Autorisierungsendpunkt mit dem Parameter login_hint als Parameter. Der Nutzer schließt die Kontoverknüpfung im Browser mit OAuth ab.

Wenn keine Bedingung erfüllt ist, erstellen Sie ein neues Nutzerkonto mit den im JWT angegebenen Informationen. Für neue Konten ist in der Regel kein Passwort festgelegt. Es wird empfohlen, Google Log-in anderen Plattformen hinzuzufügen, damit sich Nutzer auf den Oberflächen deiner Anwendung bei Google anmelden können. Alternativ können Sie dem Nutzer per E-Mail einen Link senden, mit dem der Passwortwiederherstellungsvorgang gestartet wird, damit er ein Passwort für die Anmeldung auf anderen Plattformen festlegen kann.

Nachdem die Erstellung abgeschlossen wurde, erstellen Sie ein Zugriffstoken und geben die Werte in einem JSON-Objekt im Text Ihrer HTTPS-Antwort zurück, wie im folgenden Beispiel gezeigt:

{
  "token_type": "Bearer",
  "access_token": "ACCESS_TOKEN",

  "expires_in": SECONDS_TO_EXPIRATION
}

Google API-Client-ID abrufen

Sie müssen Ihre Google API-Client-ID bei der Registrierung der Kontoverknüpfung angeben.

So rufen Sie Ihre API-Client-ID über das Projekt ab, das Sie beim Ausführen der Schritte zur OAuth-Verknüpfung erstellt haben: Führen Sie dazu folgende Schritte aus:

  1. Öffnen Sie in der Google API Console die Seite Anmeldedaten.
  2. Erstellen Sie ein Google APIs-Projekt oder wählen Sie eines aus.

    Wenn Ihr Projekt keine Client-ID für den Webanwendungstyp hat, klicken Sie auf Anmeldedaten erstellen und erstellen. Geben Sie im Feld Autorisierte JavaScript-Quellen die Domain Ihrer Website an. Wenn Sie lokale Tests oder Entwicklungen ausführen, müssen Sie sowohl http://localhost als auch http://localhost:<port_number> in das Feld Autorisierte JavaScript-Quellen eingeben.

Implementierung validieren

You can validate your implementation by using the OAuth 2.0 Playground tool.

In the tool, do the following steps:

  1. Click Configuration to open the OAuth 2.0 Configuration window.
  2. In the OAuth flow field, select Client-side.
  3. In the OAuth Endpoints field, select Custom.
  4. Specify your OAuth 2.0 endpoint and the client ID you assigned to Google in the corresponding fields.
  5. In the Step 1 section, don't select any Google scopes. Instead, leave this field blank or type a scope valid for your server (or an arbitrary string if you don't use OAuth scopes). When you're done, click Authorize APIs.
  6. In the Step 2 and Step 3 sections, go through the OAuth 2.0 flow and verify that each step works as intended.

You can validate your implementation by using the Google Account Linking Demo tool.

In the tool, do the following steps:

  1. Click the Sign-in with Google button.
  2. Choose the account you'd like to link.
  3. Enter the service ID.
  4. Optionally enter one or more scopes that you will request access for.
  5. Click Start Demo.
  6. When prompted, confirm that you may consent and deny the linking request.
  7. Confirm that you are redirected to your platform.