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

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

Aşağıdakilerden herhangi biri hesapların bağlantısını kaldırabilir:

  • Tarafından kullanıcı isteği
  • Süresi dolmuş bir yenileme jetonunun yenilenememesi
  • Siz veya Google tarafından başlatılan diğer etkinlikler. Örneğin, kötüye kullanım ve tehdit tespit hizmetleri ile hesabın askıya alınması.

Kullanıcı, Google ile bağlantısının kaldırılmasını istedi

Bir kullanıcının Google Hesabı veya uygulaması aracılığıyla başlatılan hesap bağlantısını kaldırma, önceden verilmiş tüm erişim ve yenileme jetonlarını siler, kullanıcı iznini kaldırır ve isteğe bağlı olarak jeton iptali uç noktanızı uygulamayı seçtiyseniz çağırır.

Kullanıcı, platformunuzla bağlantının kaldırılmasını istedi

Kullanıcıların, hesaplarının URL'si gibi bağlantısını kaldırmaları için bir mekanizma sağlamalısınız. Kullanıcıların bağlantısını kaldırmaları için bir yol sunmuyorsanız, kullanıcıların bağlı hesaplarını yönetebilmeleri için Google Hesabına bir bağlantı ekleyin.

Risk ve Olay Paylaşımı ve İşbirliği (RISC) uygulamayı seçebilir ve kullanıcıların hesabı bağlama durumundaki değişiklikleri Google'a bildirebilirsiniz. Bu, hem platformunuzun hem de Google'ın bağlantı durumunu güncellemek için bir yenileme veya erişim belirteci isteğine güvenmeye gerek kalmadan mevcut ve tutarlı bir bağlantı durumu gösterdiği gelişmiş bir kullanıcı deneyimi sağlar.

Jeton süre sonu

Sorunsuz bir kullanıcı deneyimi sağlamak ve hizmet kesintisini önlemek için Google, kullanım ömürlerinin sonuna doğru yenileme jetonlarını yenilemeye çalışır. Bazı senaryolarda, geçerli bir yenileme belirteci olmadığında hesapları yeniden bağlamak için kullanıcı izni gerekebilir.

Platformunuzu birden fazla süresi dolmamış erişimi ve yenileme belirtecini destekleyecek şekilde tasarlamak, kümelenmiş ortamlar arasındaki istemci-sunucu değişimlerinde bulunan yarış koşullarını en aza indirebilir, kullanıcı kesintisini önleyebilir ve karmaşık zamanlama ve hata işleme senaryolarını en aza indirebilir. Nihayetinde tutarlı olmakla birlikte, hem önceki hem de yeni yayımlanan kullanım süresi dolmamış belirteçler, istemci-sunucu belirteç yenileme değişimi sırasında ve küme senkronizasyonundan önce kısa bir süre için kullanılabilir. Örneğin, hizmetinize yönelik, önceki süresi dolmamış erişim jetonunu kullanan bir Google isteği, yeni bir erişim jetonu vermenizden hemen sonra, ancak Google'da alma ve küme senkronizasyonu gerçekleşmeden önce gerçekleşir. Token Rotasyonunu Yenilemek için alternatif güvenlik önlemleri önerilir.

Diğer olaylar

Hareketsizlik, askıya alma, kötü niyetli davranış vb. Gibi çeşitli diğer nedenlerden dolayı hesapların bağlantısı kaldırılabilir. Bu tür senaryolarda, platformunuz ve Google, kullanıcı hesaplarını en iyi şekilde yönetebilir ve hesap ve bağlantı durumundaki değişiklikleri birbirlerine bildirerek yeniden bağlanabilirler.

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

Jeton iptali uç noktası

Bir OAuth 2.0 jeton iptali uç noktasını destekliyorsanız, platformunuz Google'dan bildirimler alabilir. Bu, kullanıcıları bağlantı durumu değişiklikleri konusunda bilgilendirmenize, bir belirteci geçersiz kılmanıza ve güvenlik kimlik bilgilerini ve yetkilendirme izinlerini temizlemenize olanak tanır.

İstek aşağıdaki forma sahiptir:

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 aşağıdaki parametreleri işleyebilmelidir:

İptal uç noktası parametreleri
client_id İsteğin kaynağını Google olarak tanımlayan bir dize. Bu dize, sisteminize Google'ın benzersiz tanımlayıcısı olarak kaydedilmelidir.
client_secret Hizmetiniz için Google'a kaydettiğiniz gizli bir dize.
token İptal edilecek jeton.
token_type_hint (İsteğe bağlı) access_token veya refresh_token belirteci olmak üzere, iptal edilen belirteç türü. Belirtilmemişse, varsayılan olarak access_token .

Jeton silindiğinde veya geçersiz olduğunda bir yanıt döndür. Bir örnek için aşağıdakilere bakın:

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

Belirteç herhangi bir nedenle silinemezse, aşağıdaki örnekte gösterildiği gibi 503 yanıt kodunu döndürün:

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)

Hesaplar Arası Korumayı destekliyorsanız, platformunuz erişim veya yenileme jetonları iptal edildiğinde Google'ı bilgilendirebilir. Bu, Google'ın bağlantı durumu değişiklikleri hakkında kullanıcıları bilgilendirmesine, jetonu geçersiz kılmasına, güvenlik kimlik bilgilerini temizleme ve yetkilendirme izinlerini vermesine olanak tanır.

Hesaplar Arası Koruma, OpenID Foundation'da geliştirilen RISC standardına dayanmaktadır.

Google'a jeton iptalini bildirmek için bir Güvenlik Olay Jetonu kullanılır.

Kod çözüldüğünde, bir belirteç iptal olayı aşağıdaki örneğe benzer:

{
  "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'a jeton iptali olaylarını bildirmek için kullandığınız Güvenlik Olay Jetonları aşağıdaki tablodaki gereksinimlere uymalıdır:

Jeton iptali olayları
iss Sertifikayı Veren İddiası: Bu, sizin barındırdığınız bir URL'dir ve kayıt sırasında Google ile paylaşılır.
aud Kitle İddiası: Bu, Google'ı JWT alıcısı olarak tanımlar. google_account_linking olarak ayarlanmalıdır.
jti JWT Kimlik Talebi: Bu, her güvenlik olayı simgesi için oluşturduğunuz benzersiz bir kimliktir.
iat Talep Tarihi: Bu, bu güvenlik olayı belirtecinin oluşturulduğu zamanı temsil eden bir NumericDate değeridir.
toe Olay Zamanı Talebi: Bu, belirtecin iptal edildiği zamanı temsil eden isteğe bağlı bir NumericDate değeridir.
exp Son Kullanma Süresi İddia: Bu bildirimde sonuçlanan olay zaten yerini almıştır olarak Do, bu alanı içermez.
events
Güvenlik Olayları Talebi: Bu bir JSON nesnesidir ve yalnızca tek bir belirteç iptal olayını içermelidir.
subject_type Bu, oauth_token olarak ayarlanmalıdır.
token_type Bu simge türünü, ya iptal edilir access_token veya refresh_token .
token_identifier_alg Bu, jetonu kodlamak için kullanılan algoritmadır ve hash_SHA512_double olmalıdır.
token Bu, iptal edilen jetonun kimliğidir.

Alan türleri ve biçimleri hakkında daha fazla bilgi için bkz. JSON Web Token (JWT) .