Bağlantıyı kaldırma işlemi platformunuzdan veya Google'dan başlatılabilir. Her ikisinde de tutarlı bir bağlantı durumu gösterilmesi en iyi kullanıcı deneyimini sağlar. Google Hesabı Bağlantısı için jeton iptal uç noktası veya Hesaplar Arası Koruma desteği isteğe bağlıdır.
Hesapların bağlantısı aşağıdakilerden herhangi biri tarafından kaldırılabilir:
- tarafından gönderilen kullanıcı isteği
- Google uygulaması veya Google Hesabı ayarları
- Platformunuz
- Süresi dolmuş yenileme jetonunun yenilenememesi
- Sizin tarafınızdan veya Google tarafından başlatılan diğer etkinlikler. Örneğin, kötüye kullanım ve tehdit algılama hizmetleri tarafından hesap askıya alma.
Kullanıcı, Google ile bağlantısının kaldırılmasını istedi
Kullanıcının Google Hesabı veya uygulaması üzerinden başlatılan hesap bağlantısı kaldırma işlemi, daha önce verilen tüm erişim ve yenileme jetonlarını siler, kullanıcı iznini kaldırır ve isteğe bağlı olarak, uygulamayı kullanmayı seçtiyseniz jeton iptal uç noktanızı çağırır.
Kullanıcı, platformunuzla bağlantının kaldırılmasını istedi
Kullanıcıların bağlantıyı kaldırabileceği bir mekanizma (ör. hesaplarının URL'si) sağlamanız gerekir. Kullanıcıların bağlantıyı kaldırmaları için bir yöntem sunmuyorsanız bağlı hesaplarını yönetebilmeleri amacıyla Google Hesabı bağlantısı ekleyin.
Risk ve Olay Paylaşımı ve Ortak Çalışma (RISC) özelliğini uygulamayı ve kullanıcı hesaplarının bağlantı durumuyla ilgili değişiklikleri Google'a bildirmeyi seçebilirsiniz. Bu sayede, bağlantı durumunu güncellemek için yenileme veya erişim jetonu isteğine gerek kalmadan hem platformunuzun hem de Google'ın güncel ve tutarlı bir bağlantı durumu gösterdiği daha iyi bir kullanıcı deneyimi elde edebilirsiniz.
Jetonun son kullanma tarihi
Google, sorunsuz bir kullanıcı deneyimi sunmak ve hizmet kesintisini önlemek için yenileme jetonlarını geçerlilik sürelerinin sonuna yakın bir zamanda yenilemeye çalışır. Bazı durumlarda, geçerli bir yenileme jetonu mevcut olmadığında hesapları yeniden bağlamak için kullanıcı izni gerekebilir.
Platformunuzu, süresi dolmamış birden fazla erişim ve yenileme jetonunu destekleyecek şekilde tasarlamak, kümelenmiş ortamlar arasındaki istemci-sunucu alışverişlerinde bulunan yarış koşullarını en aza indirebilir, kullanıcı kesintilerini önleyebilir ve karmaşık zamanlama ve hata işleme senaryolarını en aza indirebilir. Sonunda tutarlı olsa da hem önceki hem de yeni verilen ve süresi dolmamış jetonlar, istemci-sunucu jetonu yenileme değişimi sırasında ve küme senkronizasyonundan önce kısa bir süre boyunca kullanılabilir. Örneğin, yeni bir erişim jetonu yayınladıktan hemen sonra ancak Google'da alınması ve küme senkronizasyonunun yapılmasından önce hizmetinize gönderilen ve süresi dolmamış önceki erişim jetonunu kullanan bir Google isteği gerçekleşir. Jeton Rotasyonunu Yenileme için alternatif güvenlik önlemleri önerilir.
Diğer etkinlikler
Hesapların bağlantısı, etkin olmama, askıya alınma, kötü amaçlı davranış gibi çeşitli nedenlerle 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 birbirine bildirerek yeniden bağlantı oluşturabilir.
Google'ın çağırması için bir jeton iptali uç noktası uygulayın. Platformunuzun ve Google'ın, kullanıcı hesabı bağlantısı durumunun tutarlı olmasını sağlamak için RISC'yi kullanarak jeton iptali etkinliklerinizi Google'a bildirin.
Jeton iptali uç noktası
如果您支持 OAuth 2.0 令牌撤消端点, 您的平台可以接收来自 Google 的通知这样,您就可以告知用户 链接状态更改、使令牌失效,以及清理安全凭据和 授权。
请求的格式如下:
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
您的令牌撤消端点必须能够处理以下参数:
| 撤消端点参数 | |
|---|---|
client_id |
用于将请求来源标识为 Google 的字符串。此字符串必须 在您的系统中注册为 Google 的唯一标识符。 |
client_secret |
您在 Google 中为您的服务注册的密钥字符串。 |
token |
要撤消的令牌。 |
token_type_hint |
(可选)要撤消的令牌的类型,可以是
access_token 或 refresh_token。如果未指定,则默认为 access_token。 |
在令牌被删除或无效时返回响应。请参阅以下内容: 示例:
HTTP/1.1 200 Success Content-Type: application/json;charset=UTF-8
如果由于任何原因导致令牌无法删除,则返回 503 响应代码。 如以下示例中所示:
HTTP/1.1 503 Service Unavailable Content-Type: application/json;charset=UTF-8 Retry-After: HTTP-date / delay-seconds
Google 稍后或按照 Retry-After 的请求重试请求。
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).