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 erişim veya yenileme jetonları iptal edildiğinde platformunuz Google'ı bilgilendirebilir. Bu, Google'ın kullanıcıları bağlantı durumu değişiklikleri hakkında bilgilendirmesine, jetonu geçersiz kılmasına, güvenlik kimlik bilgilerini temizlemesine ve yetkilendirme izinlerine erişmesine olanak tanır.
Hesaplar Arası Koruma, OpenID Vakfı'nda geliştirilen RISC standardını temel alır.
Google'a jeton iptali konusunda bilgi vermek için Güvenlik Etkinliği Jetonu kullanılır.
Kod çözüldüğünde, jeton iptali etkinliği aşağıdaki örnekte olduğu 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 yer alan şartlara uygun olmalıdır:
Jeton iptali etkinlikleri | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
iss |
Düzenleyen Hak Talebi: Bu, sizin barındırdığınız bir URL'dir ve kayıt sırasında Google ile paylaşılır. | ||||||||||
aud |
Kitle Hak Talebi: Bu, Google'ı JWT alıcısı olarak tanımlar. google_account_linking olarak ayarlanmalıdır. |
||||||||||
jti |
JWT Kimliği Hak Talebi: Bu, her güvenlik etkinliği jetonu için oluşturduğunuz benzersiz bir kimliktir. | ||||||||||
iat |
Hak Talebinde Düzenlendi: Bu, güvenlik etkinliği jetonunun oluşturulduğu
zamanı temsil eden bir NumericDate değeridir. |
||||||||||
toe |
Etkinlik Hak Talebi Zamanı: Bu, jetonun iptal edildiği zamanı temsil eden isteğe bağlı bir NumericDate değeridir. |
||||||||||
exp |
Geçerlilik Süresiyle İlgili Hak Talebi: Bu bildirimle sonuçlanan etkinlik zaten gerçekleşmiş olduğundan bu alanı eklemeyin. | ||||||||||
events |
|
Alan türleri ve biçimleri hakkında daha fazla bilgi için JSON Web Token (JWT) bölümüne bakın.