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ı

OAuth 2.0'ı destekliyorsanız jeton iptali uç noktası, platformunuz Google'dan bildirim alabilir. Bu, kullanıcıları jetonu geçersiz kılma ve güvenlik kimlik bilgilerini temizleme ve güvenlik bilgilerini temizleme izin verir.

Talep aşağıdaki biçimdedir:

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

Jeton iptali uç noktanızın aşağıdaki parametreleri işleyebilmesi gerekir:

İptal uç noktası parametreleri
client_id İsteğin kaynağını Google olarak tanımlayan bir dize. Bu dize sisteminizde Google'ın benzersiz tanımlayıcısı olarak kayıtlı olmalıdır.
client_secret Hizmetiniz için Google'a kaydettiğiniz gizli dize.
token İptal edilecek jeton.
token_type_hint (İsteğe bağlı) İptal edilen jeton türü (access_token veya refresh_token). Belirtilmezse varsayılan olarak access_token olur.

Jeton silindiğinde veya geçersiz olduğunda yanıt döndürün. Aşağıdakilere göz atın: Örnek:

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

Jeton herhangi bir nedenle silinemiyorsa bir 503 yanıt kodu döndürün, aşağıdaki örnekte gösterildiği gibi:

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

Google, isteği daha sonra veya Retry-After tarafından istendiği şekilde yeniden dener.

Hesaplar Arası Koruma (RISC)

如果您支持跨账号保护功能,您的平台可以在以下情况下通知 Google: 访问或刷新令牌会被撤消。这样,Google 就可以告知用户 更改关联状态、使令牌失效、清理安全凭据 授权。

跨账号保护以 RISC 标准是 OpenID Foundation。

安全事件令牌 用于通知 Google 令牌撤消。

解码后,令牌撤消事件如以下示例所示:

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

用于将令牌撤消事件通知 Google 的安全事件令牌 必须符合下表中的要求:

令牌撤消事件
iss Issuer Claim:这是由您托管的网址,并且会分享给 在注册过程中与 Google 联系。
aud 受众群体声明:这可将 Google 标识为 JWT 收件人。它 必须设置为 google_account_linking
jti JWT ID 声明:这是您为每次 JWT 生成的唯一 ID 安全事件令牌
iat Issued At Claim:这是一个 NumericDate 值 表示创建此安全性事件令牌的时间。
toe 事件声明时间:此为可选 NumericDate 值,该值表示 已撤消。
exp 到期时间声明请勿包含此字段。 因为导致此通知的事件已经发生。
events
安全性事件声明:这是一个 JSON 对象,并且 只能包含一个令牌撤消事件。
subject_type 此字段必须设置为 oauth_token
token_type 这是被撤消的令牌类型, access_tokenrefresh_token
token_identifier_alg 这是用于对令牌进行编码的算法,必须 hash_SHA512_double
token 这是已撤消的令牌的 ID。

如需详细了解字段类型和格式,请参阅 JSON 网络令牌 (JWT)