Genel Bakış

Hesap bağlama, Google Hesabı sahiplerinin hizmetlerinize hızlı, sorunsuz ve güvenli bir şekilde bağlanabilmesini sağlar. Platformunuzdan alınan kullanıcı verilerini Google uygulamaları ve hizmetleriyle paylaşmak için Google Hesabı Bağlama özelliğini kullanmayı seçebilirsiniz.

Güvenli OAuth 2.0 protokolü, kullanıcıların Google Hesaplarını platformunuzdaki hesaplarına güvenli bir şekilde bağlamanıza olanak tanır ve böylece Google uygulamalarına ve cihazlarına hizmetlerinize erişim izni verir.

Kullanıcılar, Google Hesapları Bağlama özelliğini kullanarak, hesaplarını bağlayabilir veya bağlantılarını kaldırabilir. Dilerseniz yeni bir hesap oluşturabilirler.

Kullanım alanları

Google Hesabı Bağlama uygulamasının nedenlerinden bazıları şunlardır:

  • Platformunuzda bir kullanıcının verilerini Google uygulamaları ve hizmetleriyle paylaşın.

  • Video ve film içeriğinizi Google TV kullanarak oynatın.

  • Google Smart Home bağlı cihazlarını Google Home uygulamasını ve "Ok Google ışıkları aç" Google Asistan'ı kullanarak yönetin ve kontrol edin.

  • Konuşma İşlemleri, "Ok Google, Starbucks'tan her zamanki siparişim" seçeneklerini kullanarak kullanıcıya özel Google Asistan deneyimleri ve işlevleri oluşturun.

  • Google Hesaplarını bir ödül iş ortağı hesabına bağladıktan sonra YouTube'da uygun canlı yayınları görüntüleyerek kullanıcıların ödül kazanmasını sağlayın.

  • Yeni hesaplar, kayıt sırasında bir Google Hesabı profilinden sürekli olarak paylaşılan verilerle önceden doldurulur.

Desteklenen özellikler

Google Hesabı Bağlama, şu özellikleri destekler:

  • OAuth Bağlantısı örtüsü akışını kullanarak verilerinizi hızlı ve kolay bir şekilde paylaşın.

  • OAuth Bağlantısı yetkilendirme kodu akışıyla daha fazla güvenlik sağlayın.

  • Mevcut kullanıcılarda oturum açın veya yeni Google onaylı kullanıcıları platformunuza kaydedin, kullanıcıların rızasını alın ve verileri Basitleştirilmiş bağlantı ile güvenli bir şekilde paylaşın.

  • Uygulama Çevirme ile kullanımı kolaylaştırın. Güvenilir bir Google uygulamasından tek dokunuşla, doğrulanmış Android veya iOS uygulamanızı güvenli bir şekilde açıp tek dokunuşla kullanıcıya izin verir ve hesapları bağlar.

  • Yalnızca gerekli verileri paylaşmak için özel kapsamlar tanımlayarak ve kullanıcı verilerinin artırılmasını açık 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ını kaldırarak iptal edilebilir. İsteğe bağlı bir jeton iptali uç noktası uygulamak, Google Tarafından Başlatılan etkinlikler ile senkronizasyonu sağlamanıza olanak tanırken Hesaplar Arası Koruma (RISC) platformunuzda gerçekleşen bağlantı kaldırma etkinliklerini Google'a bildirmenizi sağlar.

Hesap bağlama akışları

Tümü OAuth tabanlı olan ve OAuth 2.0 ile uyumlu yetkilendirme ve jeton değişim uç noktalarını yönetmenizi veya kontrol etmenizi gerektiren 3 Google Hesabı Bağlama akışı vardır.

Hesap bağlama işlemi sırasında, hesap sahiplerine hesaplarını bağlama ve veri paylaşma izni aldıktan sonra, her bir Google Hesabı için erişim jetonları yayınlarsınız.

OAuth Bağlantısı ("Web OAuth")

Bu, kullanıcıları bağlantı kurmaları için web sitenize gönderen temel OAuth akışıdır. Kullanıcı, hesabında oturum açmak için web sitenize yönlendirilir. Oturum açan kullanıcılar, verileri Google ile kendi verilerinin paylaşılmasına izin vermiş olur. Bu noktada, kullanıcının Google Hesabı ile hizmetiniz arasında bağlantı oluşturulur.

OAuth Bağlantısı, yetkilendirme kodunu ve örtülü OAuth akışlarını destekler. Hizmetiniz, dolaylı akış için OAuth 2.0 uyumlu bir yetkilendirme uç noktası barındırmalı ve yetkilendirme kodu akışını kullanırken hem yetkilendirme hem de jeton alışverişi uç noktası göstermelidir.

Şekil 1. Web OAuth kullanarak kullanıcının telefonunda hesap bağlama

OAuth Tabanlı Uygulama Çevirme Bağlantısı ("Uygulama Çevirme")

Kullanıcıları bağlantı kurmaları için uygulamanıza gönderen OAuth akışı.

OAuth Tabanlı Uygulama Çevirme Bağlantısı Doğrulanmış Android veya iOS mobil uygulamalarınız ile Google'ın platformu arasında geçiş yapan kullanıcılara rehberlik ederek önerilen veri erişimi değişikliklerini inceleme ve platformunuzdaki hesaplarını Google hesaplarına bağlama konusunda onay verme. App Flip'i etkinleştirmek için hizmetinizinOAuth Bağlantısı veyaOAuth tabanlı Google ile Oturum Açma Bağlantısı theyetkilendirme kodu akışı.

App Flip hem Android hem de iOS için desteklenir.

İşleyiş şekli:

Google uygulaması, uygulamanızın kullanıcının cihazına yüklenip yüklenmediğini kontrol eder:

  • Uygulama bulunursa, kullanıcı uygulamanıza 'çevrilen' bir kullanıcıdır. Uygulamanız, hesabı Google'a bağlamak için kullanıcıdan izin alır, ardından tekrar "Google platformuna" geri çevirir.
  • Uygulama bulunamadı veya uygulama çevirme bağlantısı işlemi sırasında bir hata oluşursa kullanıcı Kolaylaştırılmış veya Web OAuth akışına yönlendirilir.

2. Şekil. App Flip ile bir kullanıcının telefonunda hesap bağlama

OAuth Tabanlı Kolay Bağlantı Oluşturma ("Basitleştirilmiş")

OAuth tabanlı Google ile Oturum Açma Kolaylaştırılmış bağlantısı, Google ile Oturum Açma özelliğini OAuth bağlantılarına ekler. Böylece kullanıcılar, Google yüzeyinden ayrılmadan bağlantı oluşturma işlemini tamamlayabilir. Böylece, zorluklar ve ayrılmalar azaltılır. OAuth Tabanlı Kolay Bağlantı Oluşturma, 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 özellikleriyle en iyi kullanıcı deneyimini sunar. Hizmetiniz OAuth 2.0 uyumlu yetkilendirme ve jeton değişimi uç noktalarını desteklemelidir. Ayrıca, jeton alışverişi uç noktanız, JSON Web Token (JWT) onaylarını desteklemeli ve check, create ve get.

İşleyiş şekli:

Google, kullanıcı hesabını doğrular ve size şu bilgileri aktarır:

  • Veritabanınızdaki kullanıcı için bir hesap varsa kullanıcı, Google hesabını hizmetinizdeki hesabına başarıyla bağlar.
  • Veritabanınızda kullanıcı için bir hesap yoksa kullanıcı, Google'ın sağladığı iddia edilen bilgilerle yeni bir 3P hesabı oluşturabilir : e-posta, ad ve profil resmi veya oturum açmayı ve başka bir e-postayla bağlantı oluşturmayı seçin (bu, kullanıcıların Web OAuth aracılığıyla hizmetinizde oturum açmasını gerektirir).

3. Şekil. Kolay 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. Kolaylaştırılmış ve Uygulama çevirme akış akışları, kullanıcılar bağlantı işlemini yalnızca birkaç adımda tamamlayabileceğinden bağlantı sorunlarını azaltır. Web OAuth bağlantısı en düşük düzeyde çaba gerektirir ve daha sonra diğer bağlantı akışlarında ekleyebileceğiniz iyi bir yerdir.

Jetonlarla çalışma

Google Hesabı Bağlama işlemi, OAuth 2.0 endüstri standardını temel almaktadır.

Hesap sahiplerine hesaplarını bağlama ve veri paylaşma izni aldıktan sonra, bireysel Google Hesapları için Google'a erişim jetonları verirsiniz.

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:

      1. Increase token lifetime to greater than maintenance period.
      2. Wait twice the duration of your access token lifetime, enabling users to exchange short lived tokens for longer duration tokens.
      3. Enter maintenance.
      4. Respond to token requests with a 503 error code and empty body.
      5. Exit maintenance.
      6. Decrease token lifetime back to normal.

Google'a kaydolma

OAuth 2.0 kurulumunuzla ilgili ayrıntılı bilgilere ihtiyacımız var ve hesap bağlama özelliğini etkinleştirmek amacıyla kimlik bilgilerini paylaşacağız. Ayrıntılar için kayıt makalesine bakın.