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ı
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ı Koruma'yı destekliyorsanız platformunuz aşağıdaki durumlarda Google'ı bilgilendirebilir: erişim veya yenileme jetonları iptal edilir. Bu sayede Google, kullanıcıları bağlantı durumu değişiklikleri, jetonu geçersiz kılma, güvenlik kimlik bilgilerini temizleme ve izin verir.
Hesaplar Arası Koruma, Bu tarihte geliştirilen RISC standardı Kimlik Doğrulama Vakfı hakkında daha fazla bilgi edinin.
Güvenlik Etkinliği Jetonu , erişim kodu iptalini Google'a bildirmek için kullanılır.
Kodu çözüldüğünde bir jeton iptal etkinliği aşağıdaki örnekteki gibi görünür:
{
"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"
}
}
}
Jeton iptali etkinliklerini Google'a bildirmek için kullandığınız Güvenlik Etkinliği Jetonları aşağıdaki tabloda belirtilen şartlara uymalıdır:
Jeton iptali etkinlikleri | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
iss |
Düzenleyenin Hak Talebi: Bu, sizin barındırdığınız ve paylaşıldığı bir URL'dir Google'a bildirmeleri gerekir. | ||||||||||
aud |
Kitle Hak Talebi: Bu, Google'ı JWT alıcısı olarak tanımlar. Google
google_account_linking olarak ayarlanmalıdır. |
||||||||||
jti |
JWT Kimlik Hak Talebi: Bu, her kimlik için oluşturduğunuz benzersiz bir kimliktir güvenlik etkinliği jetonu. | ||||||||||
iat |
Hak Talebinde Gönderildi: Bu, NumericDate bir değerdir
bu güvenlik etkinliği jetonunun oluşturulduğu zamanı temsil eder. |
||||||||||
toe |
Etkinlik Hak Talebinin Zamanı: İsteğe bağlıdır.
zamanı temsil eden NumericDate değeri
Jeton iptal edildi. |
||||||||||
exp |
Geçerlilik Bitiş Tarihiyle İlgili Hak Talebi: Bu alanı dahil etmeyin. bu bildirime neden olan etkinlik zaten gerçekleşmiş olduğundan | ||||||||||
events |
|
Alan türleri ve biçimleri hakkında daha fazla bilgi için JSON Web Jetonu (JWT).