Genel bakış

Hesap bağlama, Google Hesabı sahiplerinin hizmetlerinize hızlı, sorunsuz ve güvenli bir şekilde bağlanmasını sağlar. Platformunuzdaki bir kullanıcının verilerini Google uygulamaları ve hizmetleriyle paylaşmak için Google Hesap 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ızı, böylece Google uygulamalarının ve cihazlarının hizmetlerinize erişmesine izin vermenizi sağlar.

Kullanıcılar, hesaplarını bağlayabilir veya bağlantılarını kaldırabilir ve isteğe bağlı olarak Google Hesabı Bağlama özelliğiyle platformunuzda yeni bir hesap oluşturabilir.

Kullanım alanları

Google Hesabı Bağlantısı'nın uygulanması için bazı nedenler şunlardır:

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

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

  • Google Akıllı Ev'e bağlı cihazları, Google Home uygulamasını ve Google Asistan'ı kullanarak yönetebilir ve kontrol edebilirsiniz: "Ok Google, ışıkları aç".

  • Conversational Actions - "Ok Google, her zamanki gibi Starbucks'tan sipariş ver" ile kullanıcılara özel Google Asistan deneyimleri ve işlevleri oluşturabilirsiniz.

  • 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 kazanmalarını sağlayın.

  • Kayıt sırasında yeni hesapları, bir Google Hesabı profilinden ortak olarak paylaşılan verilerle önceden doldurun.

Desteklenen özellikler

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

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

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

  • Kolay bağlantı oluşturma özelliğiyle mevcut kullanıcıların veya Google tarafından doğrulanmış yeni kullanıcıların oturum açmasını sağlayın, kullanıcıların iznini alın ve verileri güvenli bir şekilde paylaşın.

  • Uygulama Çevirme ile kullanımı kolaylaştırın. Güvenilir bir Google uygulamasında, tek dokunuşla doğrulanmış Android veya iOS uygulamanız güvenli bir şekilde açılır, tek bir dokunuşla kullanıcı izni verilir ve hesapları bağlayabilirsiniz.

  • Yalnızca gerekli verileri paylaşmak için özel kapsamlar tanımlayarak kullanıcı gizliliğini iyileştirin ve 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ını kaldırarak iptal edilebilir. İsteğe bağlı bir jeton iptali uç noktası uygulamak, Google tarafından başlatılan etkinliklerle senkronize olmanızı sağlar. Hesaplar Arası Koruma (RISC) ise platformunuzda gerçekleşen bağlantı kaldırma etkinlikleri hakkında Google'ı bilgilendirmenize olanak tanır.

Hesap bağlama akışları

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

Bağlama işlemi sırasında, hesap sahiplerinin hesaplarını bağlama ve veri paylaşma konusunda izin aldıktan sonra bireysel Google Hesapları için Google'a erişim jetonları verirsiniz.

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

Bu, bağlantı verilmesi için kullanıcıları web sitenize gönderen temel OAuth akışıdır. Kullanıcı, hesabında oturum açmak için web sitenize yönlendirilir. Kullanıcı oturum açtıktan sonra, hizmetinizde verilerinin Google ile paylaşılmasına izin verir. Bu noktada kullanıcının Google Hesabı ile hizmetiniz bağlanır.

OAuth Bağlantısı, yetkilendirme kodunu ve dolaylı 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ışı kullanılırken hem yetkilendirme hem de jeton değişimi uç noktası göstermelidir.

Şekil 1. Web OAuth ile kullanıcının telefonunda Hesap Bağlama

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

Bağlantı oluşturmaları için kullanıcıları 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, teklif edilen veri erişimi değişikliklerini incelemeleri ve platformunuzdaki hesaplarını Google hesaplarına bağlama izni vermeleri için rehberlik eder. App Flip'i etkinleştirmek için hizmetiniz yetkilendirme kodu akışı kullanılarak OAuth Bağlantısı veya OAuth tabanlı Google ile Oturum Açma Bağlantısı'nı desteklemelidir.

Uygulama Çevirme hem Android hem de iOS için 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 "çevrilir". Uygulamanız, hesabın Google'a bağlanması için kullanıcıdan izin alır, ardından Google yüzeyine "geri döner".
  • Uygulama bulunmazsa veya uygulama çevirmeye bağlama işlemi sırasında bir hata oluşursa kullanıcı, Basitleştirilmiş veya Web OAuth akışına yönlendirilir.

2. Şekil. App 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 Kolaylaştırılmış bağlantı özelliği, OAuth bağlantısının yanına Google ile Oturum Açma özelliğini ekleyerek kullanıcıların bağlantı işlemini Google alanından ayrılmadan tamamlamasına olanak tanır. Böylece, yaşanabilecek zorluklar ve ayrılmalar azalır. OAuth tabanlı Kolay 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 ö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 değişimi uç noktanızın JSON Web Token (JWT) onaylarını desteklemesi ve check, create ve get amaçlarını uygulaması gerekir.

İşleyiş şekli:

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

  • Veritabanınızda kullanıcının hesabı varsa bu kullanıcı, Google hesabını hizmetinizdeki hesabına başarıyla bağlar.
  • Veritabanınızda kullanıcı için herhangi bir hesap yoksa kullanıcı, Google'ın sağladığı iddia edilen bilgilerle (e-posta, ad ve profil resmi) yeni bir üçüncü taraf hesabı oluşturabilir veya oturum açıp başka bir e-posta adresiyle bağlantı kurmayı tercih edebilir (bunun için kullanıcının hizmetinizde Web OAuth üzerinden oturum açması gerekir).

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. Sadeleştirilmiş ve Uygulama çevirme akışları, kullanıcılar bağlantı işlemini birkaç adımda tamamlayabildiği için bağlantı sorunlarını azaltır. Web OAuth bağlantısı, en düşük çaba düzeyine sahiptir ve ardından diğer bağlantı akışlarına ekleme yapmak için iyi bir başlangıç noktasıdır.

Jetonlarla çalışma

Google Hesabı Bağlantısı, OAuth 2.0 endüstri standardını temel alır.

Hesap sahiplerinin hesaplarını bağlama ve veri paylaşma iznini aldıktan sonra, bireysel Google Hesapları için Google'a erişim jetonları gönderirsiniz.

Jeton türleri

OAuth 2.0, kullanıcı aracısı, istemci uygulaması ve OAuth 2.0 sunucusu arasında iletişim kurmak için belirteç adı verilen dizeleri kullanır.

Hesap bağlama sırasında üç tür OAuth 2.0 jetonu kullanılabilir:

  • Yetki kodu . Erişim ve yenileme belirteci ile değiştirilebilen kısa ömürlü bir belirteç. Güvenlik nedeniyle, Google, tek kullanımlık veya çok kısa ömürlü bir kod almak için yetkilendirme uç noktanızı arar.

  • Erişim belirteci . Taşıyıcının bir kaynağa erişmesine izin veren bir belirteç. Bu jetonun kaybından kaynaklanabilecek maruziyeti sınırlamak için, sınırlı bir ömrü vardır ve genellikle bir saat kadar sonra sona erer.

  • Jetonu yenileyin . Bir erişim belirtecinin süresi dolduğunda yeni bir erişim belirteci ile değiştirilebilen uzun ömürlü bir belirteç. Hizmetiniz Google ile entegre olduğunda, bu jeton yalnızca Google tarafından saklanır ve kullanılır. Google, kullanıcı verilerine erişmek için kullanılan erişim jetonları için yenileme jetonlarını değiştirmek için jeton değişimi uç noktanızı çağırır.

Jeton işleme

Kümelenmiş ortamlardaki ve istemci-sunucu değişimlerindeki yarış koşulları, belirteçlerle çalışırken karmaşık zamanlama ve hata işleme senaryolarına neden olabilir. Örneğin:

  • Yeni bir erişim belirteci için bir istek alırsınız ve yeni bir erişim belirteci verirsiniz. Eşzamanlı olarak, önceki, süresi dolmamış erişim belirtecini kullanarak hizmetinizin kaynağına erişim isteği alırsınız.
  • Yenileme belirteci yanıtınız henüz Google tarafından alınmadı (veya hiçbir zaman alınmadı). Bu arada, önceden geçerli olan yenileme simgesi, Google'dan gelen bir istekte kullanılır.

İstekler ve yanıtlar herhangi bir sırada gelebilir veya bir kümede çalışan eşzamansız hizmetler, ağ davranışı veya başka yollardan dolayı gelmeyebilir.

Hem sizin hem de Google'ın jeton işleme sistemleri içinde ve arasında anında ve tamamen tutarlı paylaşılan durum garanti edilemez. Birden fazla geçerli, süresi dolmamış jeton, kısa bir süre içinde sistemler içinde veya arasında bir arada bulunabilir. Olumsuz kullanıcı etkisini en aza indirmek için aşağıdakileri yapmanızı öneririz:

  • Daha yeni bir belirteç verildikten sonra bile süresi dolmamış erişim belirteçlerini kabul edin.
  • Token Rotasyonunu Yenilemek için alternatifler kullanın.
  • Birden çok, eşzamanlı olarak geçerli erişim ve yenileme belirteçlerini destekleyin. Güvenlik için, belirteç sayısını ve belirteç ömrünü sınırlamalısınız.
Bakım ve kesinti yönetimi

Bakım veya planlanmamış kesintiler sırasında Google, erişim ve yenileme jetonları elde etmek için yetkilendirmenizi veya jeton değişim uç noktalarını arayamayabilir.

Uç noktalarınız bir 503 hata kodu ve boş gövde ile yanıt vermelidir. Bu durumda Google, sınırlı bir süre için başarısız jeton değişimi isteklerini yeniden dener. Google'ın daha sonra yenileme ve erişim belirteçleri alabilmesi koşuluyla, başarısız istekler kullanıcılar tarafından görülemez.

Erişim belirteci için başarısız istekler, bir kullanıcı tarafından başlatılırsa gözle görülür bir hatayla sonuçlanır. Örtük OAuth 2.0 akışı kullanılıyorsa, kullanıcıların bağlanma hatalarını yeniden denemeleri gerekecektir.

Öneriler

Bakım etkisini en aza indirmek için birçok çözüm vardır. Dikkate alınacak bazı seçenekler:

  • Mevcut hizmetinizi koruyun ve sınırlı sayıda talebi yeni güncellenen hizmetinize yönlendirin. Tüm istekleri yalnızca beklenen işlevselliği onayladıktan sonra taşıyın.

  • Bakım dönemi boyunca jeton isteklerinin sayısını azaltın:

    • Bakım dönemlerini erişim jetonunun kullanım süresinden daha kısa bir süre ile sınırlayın.

    • Erişim belirteci ömrünü geçici olarak artırın:

      1. Belirteç ömrünü bakım döneminden daha uzun olacak şekilde artırın.
      2. Erişim jetonunuzun ömrünün iki katı kadar bekleyin, böylece kullanıcıların daha uzun süreli jetonlar için kısa ömürlü jetonları değiş tokuş etmesini sağlayın.
      3. Bakım girin.
      4. Belirteç isteklerine 503 hata kodu ve boş gövde ile yanıt verin.
      5. Bakımdan çıkın.
      6. Belirteç ömrünü normale döndürün.

Google'a kaydolma

Hesap bağlamayı etkinleştirmek için OAuth 2.0 kurulumunuzun ayrıntılarına ve kimlik bilgilerini paylaşmamız gerekiyor. Ayrıntılı bilgi için kayıt başlıklı makaleyi inceleyin.