Bu rehber, 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ı yetkilendirmenin işleyiş şekli kılavuzlarında açıklanan terimler ve kavramlar hakkında bilgi sahibi olduğunuz varsayılır.
Coğrafi Bilgi Sistemi kitaplığı, kullanıcının cihazındaki bu 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ır.
Bu kılavuzda yalnızca yetkilendirme ve veri paylaşımı konuları ele alınmaktadır. Kullanıcı kimlik doğrulamasını incelemez. Bunun yerine, kullanıcı kaydettirme ve oturum açma için Google ile Oturum Açma ve Google ile Oturum Açma'dan Taşıma kılavuzlarına bakın.
Coğrafi Bilgi Sistemi kitaplığının size uygun olup olmadığına karar verme
Google kitaplığını kullanıp kullanmayacağınızı veya kendi kitaplıklarınızı ihtiyaçlarınıza en uygun olanı seçmeniz gerekir. Özelliklere ve işlevlere genel bakış:
- Google'ın Kimlik Hizmetleri JavaScript kitaplığı şunları uygular:
- Yönlendirmeleri en aza indirmek için pop-up tabanlı izin akışları sayesinde kullanıcılar yetkilendirme işlemi boyunca sitenizde kalabilir.
- Siteler Arası İstek Sahteciliği (CRSF) gibi güvenlik özellikleri.
- Bağımsız kapsamlar istemek ve kullanıcı iznini onaylamak için yardımcı yöntemler.
- Mühendislerin geliştirme sırasında ve daha sonra sitenizi ziyaret edenler için kullanması için insan dostu hata işleme ve belge bağlantıları.
- Kimlik Hizmetleri kitaplığı olmadan başvururken aşağıdakiler sizin sorumluluğunuzdadır:
- İstekleri ve yanıtları, Google'ın OAuth 2.0 uç noktalarıyla (yönlendirmeler dahil) yönetme.
- Kullanıcı deneyimi optimize ediliyor.
- İstekleri ve yanıtları doğrulamak ve 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, okunabilir mesajlar oluşturma ve kullanıcı yardımı bağlantıları.
Ö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 Coğrafi Bilgi Sistemi kitaplığını sunar.
Yetkilendirme akışı seçme
Google Identity Services JavaScript kitaplığını kullanmaya veya kendi kitaplığınızı oluşturmaya karar vermeniz fark etmeksizin, iki OAuth 2.0 yetkilendirme akışından birini seçmeniz gerekir: dolaylı veya yetkilendirme kodu.
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 farklılıklar şunlardır:
- kullanıcı işlemlerinin sayısı,
- Uygulamanızın, kullanıcı mevcut olmadan Google API'lerini çağırıp çağırmayacağı,
- Bir uç nokta barındırmak ve bireysel kullanıcı hesapları için kullanıcı başına yenileme jetonlarını depolamak amacıyla bir arka uç platformu gerekiyorsa ve
- daha yüksek veya daha düşük kullanıcı güvenliği seviyeleri
Akışları karşılaştırırken ve güvenlik gereksinimlerinizi değerlendirirken dikkate almanız gereken faktörlerden biri, seçtiğiniz güvenlik kapsamına bağlı olarak kullanıcı güvenliği düzeyinin değişmesidir. Örneğin, takvim davetlerini salt okunur olarak görüntülemek, Drive'daki dosyaları düzenlemek için bir okuma/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. |
Kullanıcı mevcut olmalıdır | Evet | Hayır, çevrimdışı kullanımı destekler. |
Kullanıcı güvenliği | En düşük | Çoğu, istemci kimlik doğrulamasına sahiptir ve tarayıcı içi jeton işleme risklerini önler. |
Verilen erişim jetonu | Evet | Evet |
Jeton yenilendi | Hayır | Evet |
Desteklenen tarayıcı gerekiyor | Evet | Evet |
Google API'lerini çağırmak için kullanılan erişim jetonu | 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 gönderin. |
Arka uç platformu gerekiyor | Hayır | Evet, uç nokta barındırma ve depolama için. |
Güvenli depolama alanı gerekli | Hayır | Evet, yenileme jetonu depolaması için. |
Yetkilendirme kodu uç noktasının barındırılmasını gerektirir | Hayır | Evet, Google'dan yetkilendirme kodları almak için. |
Erişim jetonunun geçerlilik bitişi davranışı | Yeni ve geçerli bir erişim jetonu istemek ve almak için bağlantının basılması veya bağlantının tıklanması gibi bir kullanıcı hareketi gerekir. | İlk kullanıcı isteğinden sonra platformunuz, Google API'lerini çağırmak için gerekli olan yeni ve geçerli bir erişim jetonu almak için depolanan yenileme jetonunu değiş tokuş eder. |