Hesapların bağlantısını kaldırma

Platformdan veya Google'dan bağlantıyı kaldırma işlemi başlatılabilir. Her ikisinde de tutarlı bir bağlantı durumunun gösterilmesi en iyi kullanıcı deneyimini sağlar. Jeton iptali uç noktası veya Hesaplar Arası Koruma desteği, Google Hesabı Bağlama için isteğe bağlıdır.

Hesapların bağlantısı aşağıdakilerden herhangi biri nedeniyle kaldırılabilir:

    • adlı kullanıcıdan kullanıcı isteği
    • bir Google uygulaması veya Google Hesabı ayarları
    • Platformunuz
  • Süresi dolmuş bir yenileme jetonunun yenilenmemesi
  • Sizin tarafınızdan veya Google tarafından başlatılan diğer etkinlikler. Örneğin, hesabın kötüye kullanım ve tehdit algılama hizmetleri tarafından askıya alınması.

Kullanıcı Google'dan bağlantıyı kaldırma isteğinde bulundu

Bir kullanıcının Google Hesabı veya uygulaması aracılığıyla hesap bağlantısını kaldırma işlemi daha önce yapılan erişim ve yenileme jetonlarını siler, kullanıcı iznini kaldırır ve isteğe bağlı olarak, jeton iptal etme uç noktanızı çağırır.

Kullanıcı platformunuzun bağlantısını kaldırma isteğinde bulundu

Kullanıcıların bağlantısını kaldırabilecekleri bir mekanizma (ör. hesaplarının URL'si) sağlamanız gerekir. Kullanıcıların bağlantısını kaldırmaları için bir yöntem sunmuyorsanız kullanıcıların bağlı hesaplarını yönetebilmeleri için Google Hesabı'nın bağlantısını ekleyin.

Risk ve Olay Paylaşımı ve Ortak Çalışma (RISC) özelliğini uygulamayı seçebilir ve kullanıcıların hesap bağlama durumuyla ilgili değişiklikleri Google'a bildirebilirsiniz. Bu sayede, hem platformunuzun hem de Google'ın, bağlantı durumunu güncellemek için yenileme veya erişim jetonu isteğine ihtiyaç duymadan geçerli ve tutarlı bir bağlantı durumu gösterdiği daha iyi bir kullanıcı deneyimi sunulur.

Jeton geçerlilik bitiş tarihi

Sorunsuz bir kullanıcı deneyimi sağlamak ve hizmet kesintisi yaşamamak için Google, kullanım ömrü sonuna yaklaşıldığında yenileme jetonlarını yenilemeyi dener. Bazı senaryolarda, geçerli bir yenileme jetonu kullanılamadığında hesapların yeniden bağlanması için kullanıcı izni gerekebilir.

Platformunuzu birden çok geçerlilik süresi sona ermiş erişim ve yenileme jetonunu destekleyecek şekilde tasarlamanız durumunda, kümelenmiş ortamlar arasındaki istemci-sunucu exchange'lerinde mevcut olan yarış koşulları en aza indirilir, kullanıcıların hizmet kesintisi yaşamaması, karmaşık zamanlama ve hata işleme senaryolarının en aza indirilmesi sağlanır. Nihayetinde tutarlı olsa da hem sunucu hem de yeni, süresi dolmamış jetonlar, istemci sunucusu jeton yenileme değişimi sırasında ve küme senkronizasyonundan önce kısa bir süre kullanılabilir. Örneğin, hizmetinize önceki erişim süresi dolmamış erişim jetonunu kullanan bir Google isteği, siz yeni bir erişim jetonu verdikten hemen sonra, Google'da makbuz ve küme senkronizasyonu gerçekleşmeden önce gerçekleşir. Jeton Rotasyonunu Yenile alternatif güvenlik önlemlerinin kullanılması önerilir.

Diğer etkinlikler

Hesapların bağlantısı; etkinlik olmaması, askıya alınma, kötü amaçlı davranış gibi çeşitli nedenlerle kaldırılabilir. Bu tür senaryolarda platformunuz ve Google, hesap ve bağlantı durumundaki değişiklikleri birbirlerine bildirerek kullanıcı hesaplarını en iyi şekilde yönetebilir ve yeniden bağlayabilir.

Google'ın çağırması için bir jeton iptali uç noktası uygulayın ve platformunuzun ve Google'ın tutarlı kullanıcı hesabı bağlantı durumunu korumasını sağlamak için RISC'i kullanarak jeton iptali etkinliklerinizi Google'a bildirin.

Jeton iptali uç noktası

If you support an OAuth 2.0 token revocation endpoint, your platform can receive notifications from Google. This lets you inform users of link state changes, invalidate a token, and cleanup security credentials and authorization grants.

The request has the following form:

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

Your token revocation endpoint must be able to handle the following parameters:

Revocation endpoint parameters
client_id A string that identifies the request origin as Google. This string must be registered within your system as Google's unique identifier.
client_secret A secret string that you registered with Google for your service.
token The token to be revoked.
token_type_hint (Optional) The type of token being revoked, either an access_token or refresh_token. If unspecified, defaults to access_token.

Return a response when the token is deleted or invalid. See the following for an example:

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

If the token can't be deleted for any reason, return a 503 response code, as shown in the following example:

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

Google retries the request later or as requested by Retry-After.

Hesaplar Arası Koruma (RISC)

If you support Cross-Account Protection, your platform can notify Google when access or refresh tokens are revoked. This allows Google to inform users of link state changes, invalidate the token, cleanup security credentials, and authorization grants.

Cross-Account Protection is based on the RISC standard developed at the OpenID Foundation.

A Security Event Token is used to notify Google of token revocation.

When decoded, a token revocation event looks like the following example:

{
  "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"
    }
  }
}

Security Event Tokens that you use to notify Google of token revocation events must conform to the requirements in the following table:

Token revocation events
iss Issuer Claim: This is a URL which you host, and it's shared with Google during registration.
aud Audience Claim: This identifies Google as the JWT recipient. It must be set to google_account_linking.
jti JWT ID Claim: This is a unique ID that you generate for every security event token.
iat Issued At Claim: This is a NumericDate value that represents the time when this security event token was created.
toe Time of Event Claim: This is an optional NumericDate value that represents the time at which the token was revoked.
exp Expiration Time Claim: Do not include this field, as the event resulting in this notification has already taken place.
events
Security Events Claim: This is a JSON object, and must include only a single token revocation event.
subject_type This must be set to oauth_token.
token_type This is the type of token being revoked, either access_token or refresh_token.
token_identifier_alg This is the algorithm used to encode the token, and it must be hash_SHA512_double.
token This is the ID of the revoked token.

For more information on field types and formats, see JSON Web Token (JWT).