Kullanıcı yetkilendirme modeli seçin

Bu kılavuz, kullanıcı yetkilendirmesi için Google Kimlik Hizmetleri kitaplığını kullanma veya kendi JavaScript kitaplığınızı uygulama arasında seçim yapmanıza yardımcı olur. Web uygulamanız için en uygun OAuth 2.0 yetkilendirme akışına karar vermenize yardımcı olur.

Bu kılavuzu okumadan önce Genel Bakış ve Kullanıcı yetkilendirmesi nasıl çalışır? kılavuzlarında açıklanan terimler ve kavramlar hakkında bilgi sahibi olduğunuz varsayılır.

GIS kitaplığı, kullanıcının cihazındaki desteklenen tarayıcılarda çalışır. Node.js gibi sunucu tarafı JavaScript çerçeveleriyle kullanılmak üzere tasarlanmamıştır. Bunun yerine Google'ın Node.js istemci kitaplığını kullanın.

Bu kılavuz yalnızca yetkilendirme ve veri paylaşımı konularını kapsar. Kullanıcı kimlik doğrulama işlemini incelemez. Bunun yerine, kullanıcı kaydı ve oturum açma için Google ile Oturum Açma ve Google ile Oturum Açma'dan Geçiş kılavuzuna bakın.

GIS kitaplığının sizin için uygun olup olmadığına karar verme

Google'ın kitaplığını kullanmanın mı yoksa kendi kitaplığınızı oluşturmanın mı ihtiyaçlarınıza en uygun olduğunu seçmeniz gerekir. Özelliklere ve işlevlere genel bakış:

  • Google'ın Kimlik Hizmetleri JavaScript kitaplığı şunları uygular:
    • Yönlendirmeleri en aza indirmek için iletişim kutusu tabanlı izin akışları, böylece kullanıcılar yetkilendirme işlemi boyunca sitenizde kalabilir.
    • Siteler Arası İstek Sahteciliği (CRSF) gibi güvenlik özellikleri.
    • Ayrı kapsamlar istemek ve kullanıcı iznini onaylamak için yardımcı yöntemler.
    • Geliştirme sırasında mühendisler tarafından ve daha sonra sitenizin ziyaretçileri tarafından kullanılmak üzere kullanıcı dostu hata işleme ve doküman bağlantıları.
  • Identity Services kitaplığı olmadan uygulama yaparken şunlardan siz sorumlusunuz:
    • Yönlendirmeler dahil olmak üzere Google'ın OAuth 2.0 uç noktalarıyla istekleri ve yanıtları yönetme.
    • Kullanıcı deneyimini optimize etme
    • İstekleri ve yanıtları doğrulamak, ayrıca CSRF'yi önlemek için güvenlik özelliklerinin uygulanması.
    • Kullanıcının istenen kapsamlar için izin verdiğini onaylama yöntemleri.
    • OAuth 2.0 hata kodlarını yönetme, kullanıcı tarafından okunabilir mesajlar oluşturma ve kullanıcı yardımına bağlantılar ekleme.

Özetle, Google, OAuth 2.0 istemcisini hızlı ve güvenli bir şekilde uygulamanıza ve kullanıcının yetkilendirme deneyimini optimize etmenize yardımcı olmak için GIS kitaplığını sunar.

Yetkilendirme iş akışı seçme

Google Kimlik Hizmetleri JavaScript kitaplığını kullanmaya veya kendi kitaplığınızı oluşturmaya karar vermenizden bağımsız olarak iki OAuth 2.0 yetkilendirme akışından birini (örtülü veya yetkilendirme kodu) seçmeniz gerekir.

Her iki akış da Google API'lerini çağırmak için kullanılabilecek bir erişim jetonuyla sonuçlanır.

İki akış arasındaki temel farklar şunlardır:

  • kullanıcı işlemlerinin sayısı,
  • Uygulamanızın, kullanıcı olmadan Google API'lerini çağırıp çağırmayacağı,
  • Bir uç noktaya barındırmak ve her kullanıcı için yenileme jetonlarını ayrı kullanıcı hesaplarında depolamak üzere bir arka uç platformu gerekiyorsa ve
  • daha yüksek veya daha düşük düzeyde kullanıcı güvenliği.

Akışları karşılaştırırken ve güvenlik gereksinimlerinizi değerlendirirken göz önünde bulundurmanız gereken bir faktör, kullanıcı güvenliği düzeyinin seçtiğiniz kapsamlara bağlı olarak değişmesidir. Örneğin, takvim davetlerini salt okunur olarak görüntülemek, Drive'daki dosyaları düzenlemek için okuma ve yazma kapsamı kullanmaktan daha az riskli olabilir.

OAuth 2.0 akışı karşılaştırması

Dolaylı akış Yetkilendirme kodu akışı
Kullanıcı izni gerekli Süresi dolmuş jetonların değiştirilmesi de dahil olmak üzere her jeton isteği için. Yalnızca ilk jeton isteği için geçerlidir.
Kullanıcı orada olmalıdır Evet Hayır, çevrimdışı kullanımı destekler.
Kullanıcı güvenliği En az Çoğu, istemci kimlik doğrulamasına sahiptir ve tarayıcı içi jeton işleme risklerinden kaçınır.
Erişim jetonu verildi Evet Evet
Yenileme jetonu verildi Hayır Evet
Desteklenen tarayıcı gerekiyor Evet Evet
Google API'lerini çağırmak için kullanılan erişim jetonu yalnızca kullanıcının tarayıcısında çalışan bir web uygulamasından. arka uç platformunda çalışan bir sunucudan veya kullanıcının tarayıcısında çalışan bir web uygulamasından.
Arka uç platformu gerektirir Hayır Evet, uç nokta barındırma ve depolama için.
Güvenli depolama alanı gerekiyor Hayır Evet, yenileme jetonu depolama için.
Yetkilendirme kodu uç noktasının barındırılması gerekir Hayır Evet, Google'dan yetkilendirme kodları almak için.
Erişim jetonunun geçerlilik süresinin sona erme davranışı Yeni ve geçerli bir erişim jetonu istemek ve almak için düğmeye basma veya bağlantıyı tıklama gibi bir kullanıcı hareketi gerekir. İlk kullanıcı isteğinden sonra platformunuz, Google API'lerini çağırmak için gereken yeni ve geçerli bir erişim jetonu almak üzere saklanan yenileme jetonunu değiştirir.