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.
Überprüfen und dekodieren Sie die JWT-Zusicherung

Sie können die JWT-Zusicherung validieren und decodieren, indem Sie eine JWT-Decodierungsbibliothek für Ihre Sprache verwenden . Verwenden Sie die öffentlichen Schlüssel von Google, die in den Formaten JWK oder PEM verfügbar sind, um die Signatur des Tokens zu überprüfen.

Beim Dekodieren sieht die JWT-Zusicherung wie folgt 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
}

Stellen Sie neben der Überprüfung der Signatur des Tokens sicher, dass der Aussteller der Assertion (Feld iss ) https://accounts.google.com , dass die Zielgruppe (Feld aud ) Ihre zugewiesene Client-ID ist und das Token nicht abgelaufen ist ( exp Feld).

Anhand der Felder email , email_verified und hd können Sie feststellen, ob Google eine E-Mail-Adresse hostet und für diese maßgeblich ist. In Fällen, in denen Google autorisierend ist, ist der Nutzer derzeit als legitimer Kontoinhaber bekannt, und Sie können das Passwort oder andere Herausforderungsmethoden überspringen. Andernfalls können diese Methoden verwendet werden, um das Konto vor dem Verknüpfen zu überprüfen.

Fälle, in denen Google maßgeblich ist:

  • email hat @gmail.com Suffix @gmail.com . Dies ist ein Google Mail-Konto.
  • email_verified ist true und hd ist festgelegt. Dies ist ein G Suite-Konto.

Benutzer können sich für Google-Konten registrieren, ohne Google Mail oder G Suite zu verwenden. Wenn email kein @gmail.com Suffix enthalten und hd fehlt, ist Google nicht autorisierend. Zur Überprüfung des Benutzers werden Kennwörter oder andere @gmail.com empfohlen. email_verfied kann auch wahr sein, da Google den Nutzer bei der email_verfied des Google-Kontos zunächst überprüft hat. Der Besitz des E-Mail-Kontos eines Drittanbieters hat sich jedoch möglicherweise seitdem 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.
Überprüfen und dekodieren Sie die JWT-Zusicherung

Sie können die JWT-Zusicherung validieren und decodieren, indem Sie eine JWT-Decodierungsbibliothek für Ihre Sprache verwenden . Verwenden Sie die öffentlichen Schlüssel von Google, die in den Formaten JWK oder PEM verfügbar sind, um die Signatur des Tokens zu überprüfen.

Beim Dekodieren sieht die JWT-Zusicherung wie folgt 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
}

Stellen Sie neben der Überprüfung der Signatur des Tokens sicher, dass der Aussteller der Assertion (Feld iss ) https://accounts.google.com , dass die Zielgruppe (Feld aud ) Ihre zugewiesene Client-ID ist und das Token nicht abgelaufen ist ( exp Feld).

Anhand der Felder email , email_verified und hd können Sie feststellen, ob Google eine E-Mail-Adresse hostet und für diese maßgeblich ist. In Fällen, in denen Google autorisierend ist, ist der Nutzer derzeit als legitimer Kontoinhaber bekannt, und Sie können das Passwort oder andere Herausforderungsmethoden überspringen. Andernfalls können diese Methoden verwendet werden, um das Konto vor dem Verknüpfen zu überprüfen.

Fälle, in denen Google maßgeblich ist:

  • email hat @gmail.com Suffix @gmail.com . Dies ist ein Google Mail-Konto.
  • email_verified ist true und hd ist festgelegt. Dies ist ein G Suite-Konto.

Benutzer können sich für Google-Konten registrieren, ohne Google Mail oder G Suite zu verwenden. Wenn email kein @gmail.com Suffix enthalten und hd fehlt, ist Google nicht autorisierend. Zur Überprüfung des Benutzers werden Kennwörter oder andere @gmail.com empfohlen. email_verfied kann auch wahr sein, da Google den Nutzer bei der email_verfied des Google-Kontos zunächst überprüft hat. Der Besitz des E-Mail-Kontos eines Drittanbieters hat sich jedoch möglicherweise seitdem 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",

  "refresh_token": "REFRESH_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.
Überprüfen und dekodieren Sie die JWT-Zusicherung

Sie können die JWT-Zusicherung validieren und decodieren, indem Sie eine JWT-Decodierungsbibliothek für Ihre Sprache verwenden . Verwenden Sie die öffentlichen Schlüssel von Google, die in den Formaten JWK oder PEM verfügbar sind, um die Signatur des Tokens zu überprüfen.

Beim Dekodieren sieht die JWT-Zusicherung wie folgt 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
}

Stellen Sie neben der Überprüfung der Signatur des Tokens sicher, dass der Aussteller der Assertion (Feld iss ) https://accounts.google.com , dass die Zielgruppe (Feld aud ) Ihre zugewiesene Client-ID ist und das Token nicht abgelaufen ist ( exp Feld).

Anhand der Felder email , email_verified und hd können Sie feststellen, ob Google eine E-Mail-Adresse hostet und für diese maßgeblich ist. In Fällen, in denen Google autorisierend ist, ist der Nutzer derzeit als legitimer Kontoinhaber bekannt, und Sie können das Passwort oder andere Herausforderungsmethoden überspringen. Andernfalls können diese Methoden verwendet werden, um das Konto vor dem Verknüpfen zu überprüfen.

Fälle, in denen Google maßgeblich ist:

  • email hat @gmail.com Suffix @gmail.com . Dies ist ein Google Mail-Konto.
  • email_verified ist true und hd ist festgelegt. Dies ist ein G Suite-Konto.

Benutzer können sich für Google-Konten registrieren, ohne Google Mail oder G Suite zu verwenden. Wenn email kein @gmail.com Suffix enthalten und hd fehlt, ist Google nicht autorisierend. Zur Überprüfung des Benutzers werden Kennwörter oder andere @gmail.com empfohlen. email_verfied kann auch wahr sein, da Google den Nutzer bei der email_verfied des Google-Kontos zunächst überprüft hat. Der Besitz des E-Mail-Kontos eines Drittanbieters hat sich jedoch möglicherweise seitdem 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 ein Aktualisierungstoken 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",

  "refresh_token": "REFRESH_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

Sie können Ihre Implementierung mithilfe der Validierung OAuth 2.0 Spielplatz - Tool.

Führen Sie im Tool die folgenden Schritte aus:

  1. Klicken Sie auf das OAuth 2.0 - Konfigurationsfenster zu öffnen.
  2. Im OAuth Strömungsfeld, wählen Sie Client-Seite.
  3. Im OAuth Endpunkte Feld wählen Sie Benutzerdefiniert.
  4. Geben Sie Ihren OAuth 2.0-Endpunkt und die Client-ID, die Sie Google zugewiesen haben, in die entsprechenden Felder ein.
  5. Im Schritt 1 Wählen Sie im Abschnitt keine Google Bereiche. Lassen Sie stattdessen dieses Feld leer oder geben Sie einen für Ihren Server gültigen Bereich ein (oder eine beliebige Zeichenfolge, wenn Sie keine OAuth-Bereiche verwenden). Wenn Sie fertig sind, klicken Sie auf Autorisieren APIs.
  6. In der Stufe 2 und Stufe 3 Abschnitte, geht durch die OAuth 2.0 fließen und sicherzustellen , dass jeder Schritt wie vorgesehen funktioniert.

Sie können Ihre Implementierung mithilfe der Validierung Google - Konto verknüpfen Demo - Tool.

Führen Sie im Tool die folgenden Schritte aus:

  1. Klicken Sie auf die Sign-in mit Google - Taste.
  2. Wählen Sie das Konto aus, das Sie verknüpfen möchten.
  3. Geben Sie die Service-ID ein.
  4. Geben Sie optional einen oder mehrere Bereiche ein, für die Sie Zugriff anfordern.
  5. Klicken Sie auf Start Demo.
  6. Wenn Sie dazu aufgefordert werden, bestätigen Sie, dass Sie der Verknüpfungsanfrage zustimmen und diese ablehnen können.
  7. Bestätigen Sie, dass Sie zu Ihrer Plattform weitergeleitet werden.