Verknüpfung von Konten aufheben

Die Verknüpfung kann über deine Plattform oder Google initiiert werden. Außerdem ist die Anzeige beider Seiten jeweils einheitlich, wenn dies der Fall ist. Die Unterstützung eines Tokens zum Widerrufen des Tokens oder des kontoübergreifenden Schutzes ist für die Google-Kontoverknüpfung optional.

Die Verknüpfung von Konten kann folgendermaßen aufgehoben werden:

  • Nutzeranfrage von
  • Abgelaufenes Aktualisierungstoken kann nicht verlängert werden
  • Andere von Ihnen oder Google initiierte Ereignisse Beispiel: Sperrung von Konten durch Dienste zur Missbrauchs- und Bedrohungserkennung

Nutzer hat die Verknüpfung mit Google angefordert

Wenn die Verknüpfung über ein Google-Konto oder die App eines Nutzers aufgehoben wird, werden alle zuvor gewährten Zugriffs- und Aktualisierungstokens gelöscht. Außerdem wird die Nutzereinwilligung entfernt und optional der Widerrufsendpunkt für Tokens aufgerufen, sofern Sie einen implementiert haben.

Nutzer hat die Verknüpfung mit deiner Plattform angefordert

Du solltest Nutzern eine Möglichkeit bieten, die Verknüpfung aufzuheben, z. B. eine URL zu ihrem Konto. Wenn Sie Nutzern nicht die Möglichkeit bieten, die Verknüpfung aufzuheben, fügen Sie einen Link zum Google-Konto hinzu, damit die Nutzer ihr verknüpftes Konto verwalten können.

Sie können festlegen, dass das Risiko- und Risikomanagement (RISC) genutzt wird, und Google über Änderungen am Verknüpfungsstatus des Nutzerkontos informieren. Dies verbessert die Nutzererfahrung, da sowohl Ihre Plattform als auch Google einen aktuellen und konsistenten Verknüpfungsstatus anzeigen, ohne dass Sie zum Aktualisieren des Verknüpfungsstatus eine Aktualisierungs- oder Zugriffstokenanfrage benötigen.

Ablauf des Tokens

Für eine reibungslose Nutzererfahrung und um Dienstunterbrechungen zu vermeiden, versucht Google, die Aktualisierungstokens am Ende ihrer Lebensdauer zu verlängern. In einigen Szenarien ist die Zustimmung des Nutzers erforderlich, um Konten wieder zu verknüpfen, wenn kein gültiges Aktualisierungstoken verfügbar ist.

Wenn Sie Ihre Plattform so konfigurieren, dass mehrere nicht abgelaufene Zugriffs- und Aktualisierungstokens unterstützt werden, können Sie Race-Bedingungen in Client-Server-Austauschen zwischen geclusterten Umgebungen minimieren, Nutzerunterbrechungen vermeiden und komplexe Timing- und Fehlerbehandlungsszenarien minimieren. Letztendlich können sowohl vorherige als auch neu ausgestellte, noch nicht abgelaufene Tokens für kurze Zeit während des Austauschs des Client-Server-Tokens und vor der Clustersynchronisierung verwendet werden. Beispiel: Eine Google-Anfrage an Ihren Dienst, die das vorherige abgelaufene Zugriffstoken verwendet, erfolgt unmittelbar nach der Ausgabe eines neuen Zugriffstokens, aber vor Erhalt und Clustersynchronisierung bei Google. Es werden alternative Sicherheitsmaßnahmen zum Aktualisieren der Rotation von Tokens empfohlen.

Weitere Ereignisse

Die Verknüpfung der Konten kann auch aus anderen Gründen aufgehoben werden, z. B. wegen Inaktivität, Sperrung oder böswilligem Verhalten. In solchen Szenarien können deine Plattform und Google am besten Nutzerkonten verwalten und neu verknüpfen, indem sie sich gegenseitig über Änderungen am Konto- und Verknüpfungsstatus benachrichtigen.

Implementiere einen Endpunkt für den Widerruf eines Tokens, den Google anrufen soll, und teile Google mithilfe von RISC über deine Widerrufsereignisse mit ein, um sicherzustellen, dass deine Plattform und Google den Kontoverknüpfungsstatus einheitlich halten.

Endpunkt für Widerruf des Tokens

Wenn Sie einen OAuth 2.0- Token-Sperrendpunkt unterstützen , kann Ihre Plattform Benachrichtigungen von Google erhalten. Auf diese Weise können Sie Benutzer über Änderungen des Verbindungsstatus informieren, ein Token ungültig machen sowie Sicherheitsanmeldeinformationen und Berechtigungsberechtigungen bereinigen.

Die Anfrage hat das folgende Formular:

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

client_id=GOOGLE_CLIENT_ID&client_secret=GOOGLE_CLIENT_SECRET&token=TOKEN&token_type_hint=refresh_token

Ihr Token-Sperrendpunkt muss in der Lage sein, die folgenden Parameter zu verarbeiten:

Sperrendpunktparameter
client_id Eine Zeichenfolge, die den Anforderungsursprung als Google identifiziert. Diese Zeichenfolge muss in Ihrem System als eindeutige Kennung von Google registriert sein.
client_secret Eine geheime Zeichenfolge, die Sie bei Google für Ihren Dienst registriert haben.
token Das zu widerrufende Token.
token_type_hint (Optional) Der Typ des access_token Tokens, entweder ein access_token oder ein refresh_token . Wenn nicht angegeben, wird standardmäßig access_token .

Gibt eine Antwort zurück, wenn das Token gelöscht oder ungültig ist. Ein Beispiel finden Sie im Folgenden:

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

Wenn das Token aus irgendeinem Grund nicht gelöscht werden kann, geben Sie einen 503-Antwortcode zurück, wie im folgenden Beispiel gezeigt:

HTTP/1.1 503 Service Unavailable
Content-Type: application/json;charset=UTF-8
Retry-After: HTTP-date / delay-seconds

Google wiederholt die Anfrage später oder wie von Retry-After angefordert.

Kontoübergreifender Schutz

Wenn Sie den produktübergreifenden Kontoschutz unterstützen, kann Google von Ihrer Plattform benachrichtigt werden, wenn Zugriffs- oder Aktualisierungstokens widerrufen werden. So kann Google Nutzer über Änderungen des Linkstatus informieren, das Token ungültig machen, Sicherheitsanmeldedaten und Autorisierungserteilungen bereinigen.

Der produktübergreifende Kontoschutz basiert auf dem RISC-Standard der OpenID Foundation.

Ein Sicherheitsereignis-Token wird verwendet, um Google über den Widerruf von Tokens zu informieren.

Nach dem Decodieren sieht ein Token-Widerrufsereignis wie im folgenden Beispiel aus:

{
  "iss":"http://risc.example.com",
  "iat":1521068887,
  "aud":"google_account_linking",
  "jti":"101942095",
  "toe": "1508184602",
  "events": {
    "https://schemas.openid.net/secevent/oauth/event-type/token-revoked":{
      "subject_type": "oauth_token",
      "token_type": "refresh_token",
      "token_identifier_alg": "hash_SHA512_double",
      "token": "double SHA-512 hash value of token"
    }
  }
}

Sicherheitsereignistokens, mit denen Sie Google über Tokenwiderrufsereignisse informieren, müssen den Anforderungen in der folgenden Tabelle entsprechen:

Ereignisse für den Widerruf von Tokens
iss Ausstelleranspruch:Dies ist eine von dir gehostete URL, die bei der Registrierung mit Google geteilt wird.
aud Audience Claim (Zielgruppenanspruch): Hiermit wird Google als JWT-Empfänger identifiziert. Er muss auf google_account_linking festgelegt sein.
jti JWT-ID-Anspruch: Dies ist eine eindeutige ID, die Sie für jedes Sicherheitsereignistoken generieren.
iat Ausgestellt bei Anspruch: Dies ist ein NumericDate-Wert, der den Zeitpunkt darstellt, zu dem dieses Sicherheitsereignistoken erstellt wurde.
toe Zeitpunkt der Anforderung des Ereignisses:Dies ist ein optionaler NumericDate-Wert, der den Zeitpunkt angibt, zu dem das Token widerrufen wurde.
exp Ablaufzeit-Anforderung: Fügen Sie dieses Feld nicht hinzu, da das Ereignis, das zu dieser Benachrichtigung führt, bereits eingetreten ist.
events
Anforderung von Sicherheitsereignissen: Dies ist ein JSON-Objekt, das nur ein einziges Token-Widerrufsereignis enthalten darf.
subject_type Dieser Wert muss auf oauth_token festgelegt sein.
token_type Dies ist der Typ des widerrufenen Tokens, entweder access_token oder refresh_token.
token_identifier_alg Dies ist der Algorithmus, der zum Codieren des Tokens verwendet wird. Er muss hash_SHA512_double sein.
token Dies ist die ID des widerrufenen Tokens.

Weitere Informationen zu Feldtypen und -formaten finden Sie unter JSON-Webtoken (JWT).