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 Ihre Plattform Google benachrichtigen, Zugriffs- oder Aktualisierungstokens werden widerrufen. So kann Google Nutzer über Änderungen des Verknüpfungsstatus, das Entwerten des Tokens, das Bereinigen von Sicherheitsanmeldedaten Autorisierungen erteilt.

Der produktübergreifende Kontoschutz basiert auf den RISC-Standard entwickelt im OpenID Foundation

Ein Token für Sicherheitsereignisse wird verwendet, um Google über den Widerruf von Tokens zu informieren.

Nach der Decodierung sieht ein Token-Widerrufsereignis so 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"
    }
  }
}

Tokens für Sicherheitsereignisse, mit denen Sie Google über Token-Widerrufe informieren müssen den Anforderungen in der folgenden Tabelle entsprechen:

Ereignisse zum Widerrufen von Tokens
iss Ausstelleranforderung:Dies ist eine URL, die Sie hosten und mit der sie geteilt wird. Google bei der Registrierung.
aud Audience Claim (Zielgruppenanforderung): Hiermit wird Google als JWT-Empfänger identifiziert. Es muss auf google_account_linking festgelegt sein.
jti JWT-ID-Anforderung:Dies ist eine eindeutige ID, die für jeden Tag generiert wird. Sicherheitsereignis-Tokens.
iat Ausgestellt bei Anspruch: Dies ist ein NumericDate-Wert. der den Zeitpunkt darstellt, zu dem dieses Sicherheitsereignistoken erstellt wurde.
toe Zeitpunkt des Anspruchs auf das Ereignis:Dies ist ein optionales NumericDate-Wert, der den Zeitpunkt darstellt, zu dem der Token wurde widerrufen.
exp Anspruch bezüglich Ablaufzeit: Dieses Feld darf nicht eingefügt werden. da das Ereignis, das zu dieser Benachrichtigung geführt hat, bereits stattgefunden hat.
events
Anforderung zu Sicherheitsereignissen: Dies ist ein JSON-Objekt und darf nur ein einziges Token-Widerrufsereignis enthalten.
subject_type Muss auf oauth_token festgelegt werden.
token_type Dies ist der Tokentyp, der widerrufen wird, 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
token Dies ist die ID des widerrufenen Tokens.

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