Bu kılavuz, kullanıcı yetkilendirme 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 hangi OAuth 2.0 yetkilendirme akışının en iyisi olduğuna karar vermenize yardımcı olur.
Bu kılavuzu okumadan önce, Genel Bakış ve Kullanıcı yetkilendirmesinin işleyiş şekli kılavuzunda açıklanan terimlere ve kavramlara aşina olduğunuz varsayılır.
Coğrafi Bilgi Sistemi kitaplığı, kullanıcının cihazında, 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ılavuz yalnızca yetkilendirme ve veri paylaşımı konularını kapsar. Kullanıcı kimlik doğrulamasını incelemez. Bunun yerine Google ile Oturum Açma sayfasına ve kullanıcı kaydı ve oturum açma işlemleri için Google ile Oturum Açma rehberine bakın.
Coğrafi Bilgi Sistemi kitaplığının sizin için uygun olup olmadığına karar verme
Google'ın kitaplığını kullanmayı veya ihtiyaçlarınıza en uygun şekilde kendi kitaplığınızı oluşturmayı seçmelisiniz. Özelliklere ve işlevlere genel bakış:
- Google'ın Kimlik Hizmetleri JavaScript kitaplığı şunları uygular:
- Yönlendirmeleri en aza indirerek kullanıcıların yetkilendirme işlemi boyunca sitenizde kalmasını sağlayan pop-up tabanlı izin akışları.
- Siteler Arası İstek Sahtekarlığı (CRSF) gibi güvenlik özellikleri.
- Bağımsız kapsamlar istemek ve kullanıcı izinlerini onaylamak için yardımcı yöntemler.
- İnsan dostu hata işleme ve dokümantasyon bağlantıları, geliştirme sırasında mühendisler tarafından ve daha sonra sitenizin ziyaretçileri için kullanılabilir.
- Kimlik Hizmetleri kitaplığı olmadan uygulama yaptığınızda aşağıdakilerden sorumlu olursunuz:
- Yönlendirmeler dahil olmak üzere istekleri ve yanıtları Google'ın OAuth 2.0 uç noktalarıyla yönetme.
- Kullanıcı deneyimini optimize etmek.
- İ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ı oluşturma.
Özetle Google, bir 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ığı sunar.
Yetkilendirme akışı seçme
Google Kimlik Hizmetleri 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: örtülü 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 farklar şunlardır:
- kullanıcı işlemlerinin sayısı,
- Uygulamanızın kullanıcı olmadan Google API'lerini çağırıp çağırmayacağını,
- uç nokta barındırmak ve bağımsız kullanıcı hesapları için kullanıcı başına yenileme jetonlarını depolamak üzere bir arka uç platformu gerekirse ve
- daha yüksek veya daha düşük kullanıcı güvenliği düzeyleri.
Akışları karşılaştırırken ve güvenlik gereksinimlerinizi değerlendirirken, kullanıcı güvenliği düzeyinin seçtiğiniz kapsamlara bağlı olarak değişiklik gösterdiğini göz önünde bulundurmanız gerekir. Örneğin, takvim davetlerini salt okunur olarak görüntülemek, Drive'daki dosyaları düzenlemek için 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 seyrek | Çoğu, istemci kimlik doğrulamasına sahiptir ve tarayıcı içi jeton işleme risklerini önler. |
Erişim jetonu verildi | Evet | Evet |
Yenileme jetonu verildi | Hayır | Evet |
Desteklenen tarayıcı gerekir | 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 alanı 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 sona erme davranışı | Yeni ve geçerli bir erişim jetonu istemek ve almak için düğmeye basmak veya bağlantıyı tıklamak 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 için depolanan yenileme jetonunu değiştirir. |