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. |