Hesap bağlama, Google Hesabı sahiplerinin hizmetlerinize hızlı, sorunsuz ve güvenli bir şekilde bağlanmasını sağlar. Kullanıcının platformunuzdaki verilerini Google uygulamaları ve hizmetleriyle paylaşmak için Google Hesabı Bağlantısı'nı uygulamayı seçebilirsiniz.
Güvenli OAuth 2.0 protokolü, bir kullanıcının Google Hesabını platformunuzdaki hesabına güvenli bir şekilde bağlamanıza olanak tanır. Böylece Google uygulamaları ve cihazları, hizmetlerinize erişim izni alır.
Kullanıcılar, Google Hesabı Bağlama özelliğiyle hesaplarını bağlayabilir veya bağlantılarını kaldırabilir ve isteğe bağlı olarak platformunuzda yeni hesap oluşturabilir.
Kullanım alanları
Google Hesabı Bağlantısı'nı uygulamanın bazı nedenleri şunlardır:
Platformunuzdaki bir kullanıcının verilerini Google uygulamaları ve hizmetleriyle paylaşabilirsiniz.
Google TV'yi kullanarak video ve film içeriklerinizi oynatabilirsiniz.
Google Home uygulamasını ve Google Asistan'ı kullanarak Google Akıllı Ev'e bağlı cihazları yönetin ve kontrol edin. "Ok Google, ışıkları aç" demeniz yeterlidir.
Sohbet İşlemleri ile kullanıcıya özel Google Asistan deneyimleri ve işlevleri oluşturun. Örneğin, "Ok Google, Starbucks'tan her zamanki siparişimi ver".
Kullanıcıların, Google Hesaplarını bir ödül iş ortağı hesabına bağladıktan sonra YouTube'da uygun canlı yayınları izleyerek ödül kazanmasını sağlayın.
Kayıt sırasında yeni hesapları, Google Hesabı profilinden rızayla paylaşılan verilerle önceden doldurabilirsiniz.
Desteklenen özellikler
Google Hesabı Bağlantısı şu özellikleri destekler:
OAuth Bağlantısı örtük akışını kullanarak verilerinizi hızlı ve kolay bir şekilde paylaşın.
OAuth Bağlantı yetkilendirme kodu akışı ile daha iyi güvenlik sağlayın.
Mevcut kullanıcıların oturumunu açın veya platformunuza Google tarafından doğrulanmış yeni kullanıcılar kaydedin, kullanıcıların iznini alın ve basitleştirilmiş bağlantı ile verileri güvenli bir şekilde paylaşın.
Uygulama Flip ile zorlukları azaltın. Güvenilir bir Google uygulamasından tek dokunuşla doğrulanmış Android veya iOS uygulamanızı güvenli bir şekilde açabilir, kullanıcı izni verebilir ve hesapları bağlayabilirsiniz.
Yalnızca gerekli verileri paylaşmak için özel kapsamlar tanımlayarak kullanıcı gizliliğini iyileştirin, verilerinin nasıl kullanıldığını net bir şekilde tanımlayarak kullanıcı güvenini artırın.
Platformunuzda barındırılan verilere ve hizmetlere erişim, hesapların bağlantısı kaldırılarak iptal edilebilir. İsteğe bağlı bir jeton iptal uç noktası uygulamak, Google tarafından başlatılan etkinliklerle senkronize kalmanızı sağlar. Hesaplar Arası Koruma (RISC) ise platformunuzda gerçekleşen bağlantı kaldırma etkinliklerini Google'a bildirmenize olanak tanır.
Hesap bağlama akışları
Hepsi OAuth tabanlı olan ve OAuth 2.0 uyumlu yetkilendirme ve jeton değişimi uç noktalarını yönetmenizi veya kontrol etmenizi gerektiren 3 Google Hesabı Bağlama akışı vardır.
Bağlantı işlemi sırasında, hesap sahiplerinden hesaplarını bağlama ve veri paylaşma izni aldıktan sonra her bir Google Hesabı için Google'a erişim jetonları gönderirsiniz.
OAuth Bağlantısı ("Web OAuth")
Bu, kullanıcıları bağlantı oluşturmak için web sitenize yönlendiren temel OAuth akışı'dır. Kullanıcı, hesabında oturum açmak için web sitenize yönlendirilir. Oturum açtıktan sonra kullanıcı, hizmetinizdeki verilerinin Google ile paylaşılmasına izin verir. Bu noktada kullanıcının Google Hesabı ile hizmetiniz bağlanır.
OAuth Bağlama, yetkilendirme kodunu ve dolaylı OAuth akışlarını destekler. Hizmetiniz, gizli akış için OAuth 2.0 uyumlu bir yetkilendirme uç noktası barındırmalı ve yetkilendirme kodu akışı kullanılırken hem yetkilendirme hem de jeton değişimi uç noktası sağlamalıdır.

Şekil 1. Web OAuth ile kullanıcının telefonunda hesap bağlama
OAuth tabanlı uygulama bağlama ("uygulama bağlama")
Bağlantı oluşturmak için kullanıcıları uygulamanıza yönlendiren bir OAuth akışı.
OAuth tabanlı uygulama geçişi bağlama, kullanıcıların doğrulanmış Android veya iOS mobil uygulamalarınız ile Google'ın platformu arasında geçiş yaparken önerilen veri erişimi değişikliklerini incelemelerine ve platformunuzdaki hesaplarını Google Hesaplarıyla bağlama izni vermelerine rehberlik eder. Uygulama Flip'i etkinleştirmek için hizmetinizin yetkilendirme kodu akışını kullanarak OAuth Bağlantısı veya OAuth tabanlı Google ile Oturum Açma Bağlantısı'nı desteklemesi gerekir.
Uygulama Flip, hem Android hem de iOS'te desteklenir.
İşleyiş şekli:
Google uygulaması, uygulamanızın kullanıcının cihazında yüklü olup olmadığını kontrol eder:
- Uygulama bulunursa kullanıcı uygulamanıza "yönlendirilir". Uygulamanız, hesabı Google'a bağlamak için kullanıcıdan izin alır ve ardından kullanıcıyı Google yüzeyine "geri yönlendirir".
- Uygulama bulunamazsa veya uygulama çevirme bağlantısı işlemi sırasında bir hata oluşursa kullanıcı, basitleştirilmiş veya web OAuth akışına yönlendirilir.

Şekil 2. Uygulama Flip ile kullanıcının telefonunda hesap bağlama
OAuth tabanlı basitleştirilmiş bağlantı ("Basitleştirilmiş")
OAuth tabanlı Google ile oturum açma özelliğiyle bağlantıyı kolaylaştırma, OAuth bağlantısına Google ile oturum açma özelliğini ekleyerek kullanıcıların Google platformundan ayrılmadan bağlantı oluşturma işlemini tamamlamasını sağlar. Böylece, kullanıcıların bağlantı oluşturma işleminde karşılaştıkları zorluklar ve bağlantı oluşturma işlemini yarıda bırakma oranları azaltılır. OAuth tabanlı basitleştirilmiş bağlantı, Google ile oturum açma özelliğini OAuth bağlantısıyla birleştirerek sorunsuz oturum açma, hesap oluşturma ve hesap bağlama işlemleriyle en iyi kullanıcı deneyimini sunar. Hizmetiniz, OAuth 2.0 uyumlu yetkilendirme ve jeton değişimi uç noktalarını desteklemelidir.
Ayrıca, jeton değişimi uç noktanız JSON Web Jetonu (JWT) iddialarını desteklemeli ve check
, create
ve get
intent'lerini uygulamalıdır.
İşleyiş şekli:
Google, kullanıcı hesabını doğrular ve aşağıdaki bilgileri size iletir:
- Kullanıcının veritabanınızda bir hesabı varsa kullanıcı, Google Hesabını hizmetinizdeki hesabına başarıyla bağlar.
- Kullanıcının veritabanınızda hesabı yoksa kullanıcı, Google'ın sağladığı bilgilerle (e-posta, ad ve profil resmi) yeni bir üçüncü taraf hesabı oluşturabilir veya oturum açıp başka bir e-posta ile bağlantı kurmayı seçebilir (bu durumda kullanıcının Web OAuth üzerinden hizmetinizde oturum açması gerekir).

Şekil 3. Basitleştirilmiş Bağlantı ile kullanıcının telefonunda hesap bağlama
Hangi akışı kullanmalısınız?
Kullanıcıların en iyi bağlantı deneyimini yaşamasını sağlamak için tüm akışları uygulamanızı öneririz. Basitleştirilmiş ve uygulama çevirme akışları, kullanıcıların bağlantı oluşturma işlemini çok az adımda tamamlayabilmesi sayesinde bağlantı oluşturma sürecinin zorluklarını azaltır. Web OAuth bağlantısı, en az çaba gerektiren bağlantı yöntemidir ve başlamak için iyi bir yerdir. Daha sonra diğer bağlantı akışlarını ekleyebilirsiniz.
Jetonlarla çalışma
Google Hesabı Bağlama, OAuth 2.0 endüstri standardını temel alır.
Hesap sahiplerinden hesaplarını bağlama ve veri paylaşma izni aldıktan sonra, Google Hesapları için Google'a erişim jetonları gönderirsiniz.
Token types
OAuth 2.0 uses strings called tokens to communicate between the user agent, the client application, and the OAuth 2.0 server.
Three types of OAuth 2.0 tokens can be used during account linking:
Authorization code. A short-lived token that can be exchanged for an access and a refresh token. For security purposes, Google calls your authorization endpoint to obtain a single use or very short-lived code.
Access token. A token that grants the bearer access to a resource. To limit exposure that could result from the loss of this token, it has a limited lifetime, usually expiring after an hour or so.
Refresh token. A long-lived token that can be exchanged for a new access token when an access token expires. When your service integrates with Google, this token is exclusively stored and used by Google. Google calls your token exchange endpoint to exchange refresh tokens for access tokens, which are in turn used to access user data.
Token handling
Race conditions in clustered environments and client-server exchanges can result in complex timing and error handling scenarios when working with tokens. For example:
- You receive a request for a new access token, and you issue a new access token. Concurrently, you receive a request for access to your service's resource using the previous, unexpired access token.
- Your refresh token reply is yet to be received (or is never received) by Google. Meanwhile, the previously valid refresh token is used in a request from Google.
Requests and replies can arrive in any order, or not at all due to asynchronous services running in a cluster, network behavior, or other means.
Immediate and fully consistent shared state both within, and between, your and Google's token handling systems cannot be guaranteed. Multiple valid, unexpired tokens can coexist within or across systems short period of time. To minimize negative user impact we recommend you do the following:
- Accept unexpired access tokens, even after a newer token is issued.
- Use alternatives to Refresh Token Rotation.
- Support multiple, concurrently valid access and refresh tokens. For security, you should limit the number of tokens and token lifetime.
Maintenance and outage handling
During maintenance or unplanned outages Google might be unable to call your authorization or token exchange endpoints to obtain access and refresh tokens.
Your endpoints should respond with a 503
error code and empty body. In this
case, Google retries failed token exchange requests for a limited time. Provided
that Google is later able to obtain refresh and access tokens, failed requests
are not visible to users.
Failing requests for an access token result in a visible error, if initiated by a user. Users will be required to retry linking failures if the implicit OAuth 2.0 flow is used.
Recommendations
There are many solutions to minimize maintenance impact. Some options to consider:
Maintain your existing service and route a limited number of requests to your newly updated service. Migrate all requests only after confirming expected functionality.
Reduce the number of token requests during the maintenance period:
Limit maintenance periods to less than the access token lifetime.
Temporarily increase the access token lifetime:
- Increase token lifetime to greater than maintenance period.
- Wait twice the duration of your access token lifetime, enabling users to exchange short lived tokens for longer duration tokens.
- Enter maintenance.
- Respond to token requests with a
503
error code and empty body. - Exit maintenance.
- Decrease token lifetime back to normal.
Google'a kaydolun
Hesap bağlamayı etkinleştirmek için OAuth 2.0 kurulumunuzun ayrıntılarına ve kimlik bilgilerinizi paylaşmanıza ihtiyacımız var. Ayrıntılar için kayıt bölümüne bakın.