Google ile oturum açma özelliğini uygulamayla ilgili en iyi uygulamalar

Google ile oturum aç

Giriş

Google ile oturum açma (SiwG), kullanıcıların uygulamanızda veya web sitenizde hızlı ve güvenli bir şekilde oturum açmasını sağlar. Bu özelliği doğru şekilde uygulamak yalnızca kullanıcı kayıt sürecini basitleştirmekle kalmaz, aynı zamanda uygulamanızın güvenliğini de artırır. Bu belgede, Google ile oturum açma özelliğinin web, Android ve iOS platformlarına entegrasyonuyla ilgili en iyi uygulamalar özetlenmektedir. Bu doküman yalnızca kimlik doğrulama konusuna odaklanmaktadır. Yetkilendirme bu belgenin kapsamı dışındadır.

Entegrasyon ara hedefi kontrol listesi

Bu yapılacaklar listesi, Google ile oturum açma entegrasyon sürecinde size yol gösterecek üst düzey bir yol haritası sunar. İlk kurulumdan üretime geçişe kadar temel aşamalara ayrılmıştır. İlerlemenizi takip etmek için bu listeyi kullanın ve her kilometre taşıyla ilgili ayrıntılı rehberliğe gitmek için bağlantıları tıklayın.

0. Aşama: Başlangıç (isteğe bağlı)

Pratik, adım adım geliştirici codelab'leriyle entegrasyonunuzu hızlandırın.

Web: Temel bir web entegrasyonu oluşturmak için One Tap ve Google ile oturum açma düğmesi codelab'ini tamamlayın.

Android: Android'in Kimlik Bilgisi Yöneticisi ile ilgili temel bilgileri öğrenmek için Android codelab'ini tamamlayın.

iOS: iOS SDK'ya giriş için iOS codelab'ini tamamlayın.

1. aşama: Google Cloud projesi ve marka yapılandırması

Projenizin en başından itibaren başarılı olmasını sağlayın.

Google Cloud projelerini farklı ortamlar ve markalar için yapılandırın.

Gerekli tüm markalama ve destek bilgilerini kullanarak OAuth onay ekranı yapılandırmasını tamamlayın.

Her platform (Web, Android, iOS) için doğru OAuth istemci kimliği türünü oluşturun.

2. aşama: Temel geliştirme: ön uç ve arka uç

Güvenli sunucu mantığını ve platforma özgü kullanıcı deneyimini oluşturun.

Ön uç geliştirme aşamasında:

Kullanıcıların benimsemesini ve güvenini en üst düzeye çıkarmak için genel kullanıcı deneyimi (UX) ile ilgili en iyi uygulamaları inceleyin ve uygulayın.

Web: Resmi JavaScript kitaplığını kullanın ve hem düğme hem de tek dokunuşla ödeme akışlarını entegre edin.

Android: Entegrasyon için resmi Android SDK'sını kullanın.

iOS: Entegrasyon için resmi iOS SDK'sını kullanın.

Arka uç geliştirme sürecinizde:

Google kimliği jetonlarının güvenli arka uç doğrulamasını uygulayın.

Sisteminizde benzersiz ve kalıcı kullanıcı tanımlayıcısı olarak sub talebini kullanın.

Geçerliyse kimlik doğrulama ve yetkilendirme kapsamlarının ayrılması için plan yapın.

3. aşama: Güvenliği güçlendirme ve üretim lansmanı

Entegrasyonunuzun güvenli, uyumlu ve üretime hazır olduğundan emin olun.

Güvenlikle ilgili en iyi uygulamaları inceleyip uygulayın.

Lansmandan önce OAuth Uygulaması Doğrulama sürecini tamamlayın.

Uygulamanızın, kullanıcı hesabı silindiğinde jeton iptalini doğru şekilde işlediğinden emin olun.

Genel en iyi uygulamalar (tüm platformlar)

Bu uygulamalar, geliştirme yaptığınız platformdan bağımsız olarak geçerlidir. Geliştiricilerin tam uygunluk sağlamak için genel OAuth 2.0 Politikalarını da incelemesi gerekir.

Bu bölümde, Google Cloud projelerinizi yapılandırma ve güvenlik ile marka uyumluluğu için OAuth istemcilerinizi ayarlama ile ilgili en iyi uygulamalar açıklanmaktadır.

  • Test ve üretim için ayrı projeler kullanma

    Bazı Google politikaları yalnızca üretim uygulamaları için geçerli olduğundan, Google Cloud Console'da geliştirme, hazırlama ve üretim gibi farklı dağıtım ortamlarınız için ayrı projeler oluşturmanız gerekir. Daha fazla bilgi için bu sayfaya bakın.

  • Her marka veya alan için ayrı projeler kullanma

    Kuruluşunuz farklı markalara sahip birden fazla uygulamayı yönetiyorsa her markanın kendi özel Google Cloud projesi olmalıdır. İzin ekranında gösterilen kullanıcıya yönelik bilgiler (ör. uygulama adı, logo, destek e-postası ve Hizmet Şartları ile Gizlilik Politikası'na giden bağlantılar) proje düzeyinde yapılandırılır. Bu, tek bir proje içinde oluşturulan tüm OAuth istemci kimliklerinin aynı markayı paylaşacağı anlamına gelir. Her markaya kendi projesini vermek, kullanıcıların kullandıkları uygulamada doğru markalama ve yasal bilgileri görmelerini sağlar.

  • Genel bir destek e-postası sağlama

    Kullanıcı desteği e-posta adresi, OAuth izin ekranında herkese açık olarak gösteriliyor. Profesyonelliği korumak ve sürekliliği sağlamak için her zaman genel bir destek e-postası (ör. support@yourdomain.com) yerine Google Cloud projesinin OAuth kullanıcı rızası ekranı yapılandırmasında bir çalışanın e-posta adresini kullanın. Daha fazla ayrıntı için bu sayfaya bakın.

  • Platform başına OAuth istemcisi

    Uygulamanızın çalıştığı her platform için ayrı bir OAuth istemcisi oluşturmanız gerekir (ör. Web, Android, iOS) aynı Google Cloud projesi içinde olmalıdır. Her platform için doğru istemci türünü kullanmak iki temel nedenden dolayı çok önemlidir:

    • Gelişmiş güvenlik: Her istemci türü, platforma özel güvenlik özelliklerini etkinleştirir. Örneğin, bir Android istemcisi paket adı ve imzalama sertifikasıyla kilitlenebilir. Bu sayede, istemci kimliğinizin yetkisiz kullanımı önlenir.
    • Doğru işlevsellik: Uygulamanızın platforma özel SDK'lar ve özelliklerle (ör. Android'deki Kimlik Bilgisi Yöneticisi veya iOS için Google ile oturum açma SDK'sı) doğru şekilde entegre olmasını sağlar.

    Bu yapı, kullanıcı deneyimini de basitleştirir. İzin Google Cloud projesi düzeyinde işlendiğinden kullanıcıların tüm platformlarda uygulamanıza yalnızca bir kez izin vermesi gerekir. Daha fazla bilgi için resmi OAuth 2.0 politikalarına bakın.

  • OAuth uygulama doğrulamasını tamamlama

    Üretim uygulamanızın adını ve logosunu göstermesi için doğrulanması gerekir. Doğrulama türü, kullanıcıdan istediğiniz verilere bağlıdır.

    Google, lansman zaman çizelgenizi planlamanıza yardımcı olmak için farklı doğrulama türlerinin ve beklenen inceleme sürelerinin dökümünü sağlar. Doğrulama politikaları hakkında daha fazla bilgi için OAuth Uygulaması Doğrulama Yardım Merkezi'ne bakın.

Güvenlik ve jeton işleme

Bu bölümde, geliştiricilerin arka uç sunucularında uygulaması gereken çalışma zamanı şartları ve güvenlik önlemleri ele alınmaktadır.

  • Google kimliği jetonlarını arka uçunuzla entegre etme

    • Kimlik jetonunu doğrulayın: Google kimlik jetonunun bütünlüğünü her zaman arka uç sunucunuzda doğrulayın. Yalnızca istemcinizden gönderildiği için jetonlara asla güvenmeyin. Bu doğrulama için bir Google API istemci kitaplığı kullanmanız önerilir. Daha fazla bilgi için Google kimliği jetonunu sunucu tarafınızda doğrulama başlıklı makaleyi inceleyin.
    • sub talebini kullanın: Google kimlik jetonu sub alanını, tüm Google Hesapları arasında benzersiz ve sabit olduğu ve asla yeniden kullanılmadığı için kullanıcı tanımlayıcısı olarak kullanın. sub alanını saklamalı ve hesap yönetimi sisteminizdeki kullanıcıyla ilişkilendirmelisiniz. Kullanıcının mevcut bir hesabı olup olmadığını kontrol etmek için kimlik jetonundaki e-posta adresini kullanabilirsiniz ancak Google Hesabı'nda farklı zamanlarda birden fazla e-posta adresi olabileceğinden e-posta adresini tanımlayıcı olarak kullanmayın.
  • Hesap silindiğinde jetonları iptal etme

    Google ile oturum açan kullanıcılara Google Hesaplarının uygulamanızla bağlantısını kesme olanağı sunmanız önemle tavsiye edilir. Bir kullanıcı hesabını silmeyi seçerse uygulamanızın edindiği tüm erişimleri iptal etmeniz ve yenileme jetonlarını güncellemeniz gerekir.

    İstemci tarafında jeton iptaliyle ilgili ayrıntılar için Web, Android, iOS belgelerini inceleyin. Sunucu tarafında iptal için Web Sunucusu Uygulamaları için OAuth 2.0'ı Kullanma başlıklı makaleyi inceleyin.

  • Kimlik doğrulama ile yetkilendirmeyi ayırma

    Google ile oturum açma SDK'ları yalnızca kimlik doğrulama için gerekli olan kapsamları ister. Uygulamanızın diğer Google hizmetlerine (ör. Google Takvim veya Drive) erişmesi gerekiyorsa bu izinleri ayrı olarak ve yalnızca kullanıcı bu hizmetlere erişim gerektiren bir işlem yapmaya çalıştığında istemelisiniz. Daha fazla bilgi için Ayrı kimlik doğrulama ve yetkilendirme anları başlıklı makaleyi inceleyin.

  • En iyi güvenlik uygulamaları

    Güvenli bir entegrasyon için Google API istemci kitaplığını kullanarak arka uç sunucunuzdaki kimlik jetonunu her zaman doğrulayın. Çeşitli tehditlere karşı daha kapsamlı koruma için Güvenlik Paketi ve Hesaplar Arası Koruma (RISC)'yi uygulayın. Ayrıca, iOS uygulamalarında isteklerin orijinal uygulamanızdan geldiğinden emin olmak için Uygulama Kontrolü'nü entegre etmeniz önemle tavsiye edilir.

Kullanıcı deneyimi (UX)

Bu bölümde, kullanıcıya yönelik öğeleri ve oturum açma/kaydolma akışlarını optimize etmeye odaklanılır.

  • Düğmeyi belirgin bir şekilde gösterin: Google ile oturum açma düğmesi, oturum açma ve kayıt sayfanızda net bir şekilde görünür ve erişilebilir olmalıdır.

  • Marka yönergelerine uyun: Tutarlı ve güvenilir bir kullanıcı deneyimi sağlamak için resmi Google markalı oturum açma düğmelerini kullanın. Resmi Google ile Oturum Açma Markalama Kuralları'nı inceleyin.

  • Sorunsuz kayıt: Yeni kullanıcılar için otomatik olarak hesap oluşturun veya Google ile ilk başarılı oturum açma akışından sonra kullanıcıları yeni hesap oluşturma akışına yönlendirin. Arka uçta, belirtilen sub kimliğine sahip bir kullanıcının olup olmadığını kontrol edin. Yoksa yeni bir hesap oluşturun. Bu, kayıt işlemini en aza indirir.

  • Kolaylaştırılmış oturum açma: Geri gelen kullanıcıları tanımlamak ve mevcut hesaplarında kimliklerini doğrulamak için sub kimliğini kullanın. Kullanıcıların uygulamanıza hızlı ve güvenli bir şekilde geri dönmesini sağlamak için Web ve Android'de otomatik oturum açma gibi özellikleri uygulayın.

  • Sosyal Oturum Açma Yöntemlerini Yönetme: Kullanıcıların çeşitli sosyal oturum açma yöntemlerini (ör. Google) yönetebileceği, kullanıcı ayarlarında merkezi bir "Bağlı Hesaplar" bölümü sağlar.

    • Bağlama: Diğer yöntemleri (ör. kullanıcı adı ve şifre) kullanarak oturum açan mevcut kullanıcılar için "Google ile oturum aç" düğmesi sağlama. Bu bağlantıyı tıkladığında, Google Hesabı'nı mevcut profiline bağlamak için kimlik doğrulama akışı başlatılır.

    • Bağlantıyı kaldırma: Hesabın bağlantısını kaldırma seçeneği sunun. Bu işlemi tamamlamak için jetonları iptal etmeniz ve Google ilişkilendirmesini veritabanınızdan kaldırmanız gerekir.

Android uygulaması (uygulamalar ve oyunlar)

Standart Android uygulamaları

Android uygulamalarında Kimlik Bilgisi Yöneticisi'ni kullanmanız gerekir. Kullanıcı kimlik bilgilerini işlemek için önerilen yaklaşımdır ve Android'de birleşik, güvenli ve tutarlı bir oturum açma deneyimi sağlar.

Uygulama için Android OAuth istemci kimliğini kullanın. Diğer platformlarda (ör. web, iOS) Google ile oturum açma uygulamanız varsa aynı Google Cloud projesinde yeni bir OAuth istemci kimliği Android türü oluşturmanız gerekir.

Uygulama akışları

Güçlü bir uygulamada hem Kimlik Bilgisi Yöneticisi'nin alt sayfa kullanıcı arayüzü hem de Google ile oturum açma düğmesi bulunmalıdır.

  • Alt sayfa: Bu, bir kullanıcı oturum açma ekranınıza geldiğinde Kimlik Bilgisi Yöneticisi tarafından sunulan, geliştirici odaklı ve düşük sürtünmeli bir istemdir.
  • Google ile oturum açma düğmesi: Bu, kullanıcının başlatmak için dokunabileceği, açık ve kullanıcı tarafından başlatılan oturum açma akışıdır.
  • Google Cloud projesinin doğru şekilde yapılandırılması gerekir. Bu işlem, doğru türde OAuth istemci kimlikleri oluşturmayı ve uygulamanızın SHA-1 sertifika parmak izi gibi belirli ayrıntıları sağlamayı içerir. Doğru bir kurulum için resmi Android geliştirici kılavuzunu dikkatlice uygulayın.

Kullanıcılar alt sayfayı kapatabileceği veya tercihlerinde devre dışı bırakabileceği için her zaman düğme akışını eklemeniz gerekir. Düğme, kullanıcıların her zaman oturum açma sürecini başlatabilmesini sağlar.

Yerleşim stratejisi

  • Google ile oturum açma düğmesi:

    • Konum: Özel kayıt veya oturum açma sayfalarınızda Google ile oturum açma düğmesini gösterin.
    • Görünürlük: Kullanıcı adı ve şifre alanları veya diğer sosyal giriş sağlayıcılar gibi diğer giriş yöntemlerinin yanında belirgin bir şekilde yerleştirin.
  • Kimlik bilgisi yöneticisi alt sayfası:

    • Tetikleyici: Alt sayfa, oturum açma sayfanız başlatıldığında veya uygulama başladığında otomatik olarak çağrılmalıdır. Kullanıcıların bir düğmeye dokunmasıyla tetiklenmemelidir.
    • Otomatik oturum açma: Geri gelen kullanıcılar için Kimlik Bilgisi Yöneticisi'nde otomatik oturum açma seçeneğinin etkinleştirilmesi önemle tavsiye edilir. Bu sayede geri dönen kullanıcılar (daha önce izin vermiş olanlar) herhangi bir etkileşimde bulunmadan uygulamanıza tekrar giriş yapabilir.

Android oyunları

Android oyunlarında Kimlik Bilgisi Yöneticisi önerilen yaklaşım değildir. Bunun yerine oyun geliştiriciler, Google ile oturum açma özelliğini kullanarak platformlar arası Google kimliğine odaklanan Google Play Oyun Hizmetleri (PGS) yaklaşımını kullanmalıdır. Daha fazla bilgiyi Google ile oturum açma kullanılarak platformlar arası Google kimliği belgelerinde bulabilirsiniz.

iOS'te uygulama

Resmi Google ile oturum açma SDK'sını kullanma

iOS uygulamaları için resmi iOS ve macOS için Google ile oturum açma SDK'sını kullanmanız gerekir. Bu kitaplık, Google ile oturum açma özelliğini entegre etmenin en güvenli ve kullanıcı dostu yolunu sunar.

Uygulamayı kullanıma sunmak için iOS'e yönelik OAuth istemci kimliğini kullanın. Diğer platformlarda (ör. web, Android) Google ile oturum açma uygulamanız varsa aynı Google Cloud projesinde yeni bir OAuth istemci kimliği iOS türü oluşturmanız gerekir.

"Google ile oturum açın" düğmesini ekleme

  • Yerleştirme: "Google ile oturum aç" düğmesini, uygulamanızın oturum açma görünümüne (hem kayıt hem de oturum açma sayfalarınıza) ekleyin. Kullanıcı adı ve şifre alanları veya diğer sosyal oturum açma sağlayıcıları gibi diğer oturum açma yöntemlerinin yanında belirgin bir şekilde yerleştirin.
  • Önerilen Bileşenleri Kullanın: Hem SwiftUI hem de UIKit için SDK tarafından sağlanan resmi düğme bileşenlerini kullanın. Bu bileşenler, Google'ın markalama kurallarına uygun bir düğmeyi otomatik olarak oluşturur ve düğmeyi görüntülemenin önerilen yoludur.

Uygulama Kontrolü ile güvenliği artırma

OAuth 2.0 istemcinize yapılan isteklerin orijinal uygulamanızdan geldiğini doğrulayarak arka uç kaynaklarınızı kötüye kullanıma karşı koruyun. Uygulama Kontrolü, isteklerin uygulamanızın orijinal ve değiştirilmemiş bir örneğinden geldiğini doğrulamak için bir onay sağlayıcı kullanır ve bu koşulu karşılamayan istekleri reddeder. Daha fazla bilgi için iOS'te Google ile Oturum Açma için Uygulama Kontrolü başlıklı makaleyi inceleyin.

Web uygulaması

Web siteleri ve web uygulamalarıyla ilgili rehberlik.

Resmi Google ile Oturum Açma JavaScript kitaplığını kullanma

Web uygulamaları için resmi Google ile oturum açma JavaScript kitaplığını kullanmanız gerekir. Bu, Google'ın web için kimlik kitaplıklarının en yeni neslidir ve hem düğme hem de Tek Dokunma özelliklerini içerir.

Uygulama için Web OAuth istemci kimliğini kullanın. Diğer platformlarda (ör. Android, iOS) Google ile oturum açma uygulamanız varsa aynı Google Cloud projesinde yeni bir OAuth istemci kimliği web türü oluşturmanız gerekir.

Hem düğme hem de tek dokunma akışlarını uygulayın

Hem "Google ile oturum açın" düğmesini hem de One Tap oturum açma deneyimini uygulamak en iyi uygulamadır.

  • Google ile oturum açma düğmesi: Bu, açıkça kullanıcı tarafından başlatılan oturum açma/kaydolma akışıdır.
  • One Tap: Bu özellik, sorunsuz ve kesintisi az bir oturum açma veya kaydolma istemi sağlar.
  • Her iki uygulama için de Web ile aynı OAuth istemci kimliğini kullanın.

Düğmeyi her zaman birincil oturum açma seçeneği olarak eklemelisiniz. Kullanıcılar, Google Hesabı ayarlarında Tek Dokunma'yı kapatabilir veya devre dışı bırakabilir. Ancak düğme her zaman kullanılabilir durumda olacağından kullanıcıların oturum açması hiçbir zaman engellenmez.

Yerleşim stratejisi

  • Google ile oturum açma düğmesi:

    • Konum: Kişiselleştirilmiş Google ile oturum aç düğmesini özel kayıt veya oturum açma sayfalarınızda gösterin.
      • Tüm siteler için en iyi sonucu veren tek bir kalıp olmadığını unutmayın (ör. yeniden yönlendirme ve pop-up). Web tasarımınız veya kullanıcı deneyimi ekibiniz, hem kayıt hem de oturum açma işlemlerinde tamamlanma oranlarını en üst düzeye çıkarmak için bu akışları test etmeli ve optimize etmelidir.
    • Görünürlük: Kullanıcı adı ve şifre alanları veya diğer sosyal giriş sağlayıcıları gibi diğer giriş yöntemlerinin yanında belirgin bir şekilde yerleştirin.
    • İnceleme: Optimum yapılandırma ve performans için Google ile oturum açma düğmesiyle ilgili dikkat edilmesi gereken noktalar bölümü.
  • One Tap İstem:

    • Konum: Tek Dokunma istemini web sitenizin birden fazla sayfasında (ör. tek tek ürün sayfaları, makale sayfaları ve hatta ana sayfa) gösterin. One Tap'in temel avantajı, kullanıcıların mevcut sayfalarından ayrılmadan oturum açmasına veya hesap oluşturmasına olanak tanımasıdır.
    • Otomatik oturum açma: Geri gelen kullanıcılar için One Tap'te otomatik oturum açma seçeneğinin etkinleştirilmesi önemle tavsiye edilir. Bu sayede, geri dönen kullanıcılar (daha önce izin vermiş olanlar) herhangi bir etkileşimde bulunmadan uygulamanıza tekrar giriş yapabilir.
    • İnceleme: En iyi yapılandırma ve performans için Tek Dokunuş ile ilgili dikkat edilmesi gereken noktalar bölümü.