Web uygulamaları, Google API'lerini güvenli bir şekilde çağırmak için erişim jetonu almalıdır.
Google Kimlik Hizmetleri JavaScript kitaplığı, hem kullanıcı oturumunda kimlik doğrulamayı hem de Google API'leriyle kullanmak üzere erişim jetonu almak için yetkilendirmeyi destekler. Kitaplık yalnızca tarayıcılarda kullanılmak üzere tasarlanmıştır.
Kimlik doğrulama, bir kullanıcının kim olduğunu belirler ve genellikle kullanıcı kaydı veya oturum açma olarak adlandırılır. Yetkilendirme, veri veya kaynaklara erişim izni verme ya da erişimi reddetme işlemidir. Kullanıcı izninin alınması ve yönetilmesi, kapsamlarla paylaşılan veri veya kaynak miktarının sınırlandırılması ve Google API'leriyle kullanılmak üzere erişim jetonu alınması bu kapsamda değerlendirilir.
Bu kılavuzlarda yetkilendirme ve veri paylaşımı konuları ele alınmaktadır.
Kullanıcı yetkilendirmesinin işleyiş şekli bölümü, kullanıcı yetkilendirmenin bağımsız adımlarını ayrıntılı bir şekilde açıklar ve kullanıcı iletişim kutusu örnekleri içerir.
Kimlik doğrulama ve kullanıcı kaydı ile oturum açma işlemlerinin nasıl yapılacağı konusunda yardım arıyorsanız Google ile Oturum Açma bölümüne bakın.
Bu kitaplık, 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.
Neler değişti?
Google Kimlik Hizmetleri kitaplığı, kullanıcılar için eski JavaScript kitaplıklarına kıyasla çok sayıda kullanılabilirlik iyileştirmesi sunar. Örneğin:
- Kullanıcı oturum açma kimlik doğrulaması ve Google API'lerini çağırmak üzere erişim jetonu alma yetkisi için artık iki ayrı ve farklı kullanıcı akışı bulunmaktadır. Bunlardan biri oturum açma, diğeri ise yetkilendirme sırasında izin verme amaçlıdır. Bu akışlarda, kim olduğunuzu ve bir uygulamanın neler yapabildiğini net bir şekilde ayırt etmek için ayrı kullanıcı akışları kullanılır.
- Kullanıcı izni sırasında daha fazla görünürlük ve veri paylaşımına yönelik ayrıntılı kontrol.
- Zorlukları azaltmak için kullanılan ve kullanıcıların sitenizden ayrılması gerektirmeyen, tarayıcı tabanlı pop-up iletişim kutuları:
- Google'dan bir erişim jetonu alabilir veya
- arka uç platformunuza bir yetkilendirme kodu gönderin.
Geliştiricilere yönelik odak noktamız, karmaşıklığı azaltmak, güvenliği iyileştirmek ve entegrasyonunuzu mümkün olduğunca hızlı ve kolay hale getirmektir. Bu değişikliklerden bazıları şunlardır:
- Oturum açma için kullanıcı kimlik doğrulaması ve Google API'lerini çağırmak amacıyla erişim jetonu almak için kullanılan yetkilendirme, iki ayrı JavaScript nesne ve yöntem kümesidir. Bu da kimlik doğrulama veya yetkilendirmeyi uygulamak için gereken karmaşıklığı ve ayrıntı miktarını azaltır.
- Tek bir JavaScript kitaplığı artık şunları desteklemektedir:
- OAuth 2.0 dolaylı akışı, tarayıcıda kullanmak üzere erişim jetonu almak için kullanılır
- Çevrimdışı erişim olarak da bilinen OAuth 2.0 yetkilendirme kodu akışı, arka uç platformunuza güvenli bir şekilde yetkilendirme kodu gönderir. Bu kod, erişim jetonu ve yenileme jetonuyla değiştirilebilir. Daha önce bu akışlar yalnızca birden fazla kitaplık kullanılarak ve OAuth 2.0 uç noktalarına doğrudan çağrılar aracılığıyla kullanılabiliyordu. Tek bir kitaplık, entegrasyon sürenizi ve çabanızı azaltır. Birden çok kitaplık ve OAuth 2.0 kavramını öğrenmek yerine tek bir birleşik arayüze odaklanabilirsiniz.
- Alıcı stili işlevler üzerinden yönlendirme, basitlik ve okunabilirlik için kaldırılmıştır.
- Yetkilendirme yanıtlarını ele alırken, istekleri yerine getirmek için sizin adınıza verilen karar yerine bir Promise kullanıp kullanmayacağınızı seçersiniz.
- JavaScript için Google API İstemci Kitaplığı şu değişikliklerle güncellenmiştir:
gapi.auth2
modülü ile ilişkili nesneler ve yöntemler artık sizin için arka planda otomatik olarak yüklenmez ve daha açık olan Google Kimlik Hizmetleri kitaplık nesneleri ve yöntemleriyle değiştirildi.- Kullanıcı güvenliğini ve farkındalığını iyileştirmek için süresi dolan erişim jetonlarının otomatik yenilemesi kaldırıldı. Erişim jetonunun süresi dolduktan sonra uygulamanız Google API hata yanıtlarını işlemeli, istekte bulunmalı ve yeni, geçerli bir erişim jetonu almalıdır.
- Kimlik doğrulama ve yetkilendirme anlarının net bir şekilde ayrılmasını desteklemek için, bir kullanıcının uygulamanızda ve Google Hesabı'nda aynı anda oturum açması ve erişim jetonu yayınlanması artık desteklenmemektedir. Önceden, erişim jetonu isteğinde bulunmak kullanıcıların Google Hesaplarında oturum açmasını da sağlıyor ve kullanıcı kimlik doğrulaması için JWT kimliği jetonu kimlik bilgisi döndürüyordu.
- Kullanıcı güvenliğini ve gizliliğini artırmak amacıyla, yetkilendirme için verilen kullanıcı başına kimlik bilgileri yalnızca bir erişim jetonu ve bunu yönetmek için gereken bilgileri ekleyerek en az ayrıcalık ilkesine göre hareket eder.