Web için yetkilendirme

Web uygulamalarının, Google API'lerini güvenli bir şekilde çağırmak için erişim jetonu alması gerekir.

Google Kimlik Hizmetleri JavaScript kitaplığı, hem kullanıcı oturum açma için kimlik doğrulamayı hem de Google API'leriyle kullanılacak bir 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 kişinin kim olduğunu belirler ve genellikle kullanıcı kaydı veya oturum açma olarak adlandırılır. Yetkilendirme, verilere veya kaynaklara erişim izni verme ya da erişimi reddetme işlemidir. Kullanıcı iznini alma ve yönetme, kapsamlarla paylaşılan veri veya kaynak miktarını sınırlama ve Google API'leriyle kullanılmak üzere erişim jetonu alma bu kapsamdadır.

Bu kılavuzlarda yetkilendirme ve veri paylaşımı konuları ele alınır.

Kullanıcı yetkilendirmesinin işleyiş şekli başlıklı makalede, kullanıcı yetkilendirmesinin her adımı ayrıntılı olarak açıklanmakta ve kullanıcı iletişim kutusu örnekleri verilmektedir.

Kimlik doğrulama ve kullanıcı kaydı ile oturum açma işlemlerini uygulama konusunda yardım almak istiyorsanız Google ile Oturum Açma başlıklı makaleye 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ın.

Neler değişti?

Google Kimlik Hizmetleri kitaplığı, kullanıcılar için önceki JavaScript kitaplıklarına kıyasla aşağıdakiler de dahil olmak üzere birçok kullanılabilirlik iyileştirmesi sunar:

  • Kullanıcı oturum açma için kimlik doğrulama ve Google API'lerini çağırmak üzere erişim jetonu almak için yetkilendirme artık iki ayrı ve farklı kullanıcı akışına sahip. Bunlardan biri oturum açma, diğeri ise yetkilendirme sırasında izin verme için. Bu iki akış, kim olduğunuzu ve bir uygulamanın neler yapabileceğini net bir şekilde ayırt etmek için ayrı kullanıcı akışları içeriyor.
  • Kullanıcı izni sırasında veri paylaşımının görünürlüğü ve ayrıntılı kontrolü iyileştirildi.
  • Kullanıcıların sitenizden ayrılmasını gerektirmeyen ve sürtünmeyi azaltmak için tarayıcı tabanlı iletişim kutuları:
    • Google'dan erişim jetonu alma veya
    • arka uç platformunuza yetkilendirme kodu gönderin.

Geliştiriciler için odak noktamız karmaşıklığı azaltmak, güvenliği artırmak ve entegrasyonunuzu basitleştirmek oldu. Bu değişikliklerden bazıları şunlardır:

  • Oturum açma için kullanıcı kimlik doğrulaması ve Google API'lerini çağırmak için erişim jetonu almak üzere kullanılan yetkilendirme, iki ayrı ve farklı JavaScript nesne ve yöntem grubudur. Bu, kimlik doğrulama veya yetkilendirme uygulamak için gereken karmaşıklığı ve ayrıntı miktarını azaltır.
  • Tek bir JavaScript kitaplığı artık hem:
    • Tarayıcıda kullanılacak bir erişim jetonu almak için kullanılan OAuth 2.0 dolaylı akışı
    • OAuth 2.0 yetkilendirme kodu akışı (çevrimdışı erişim olarak da bilinir) arka uç platformunuza güvenli bir şekilde yetkilendirme kodu göndermeyi başlatır. Bu kod, erişim jetonu ve yenileme jetonu ile 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 yapılan aramalar aracılığıyla kullanılabilirdi. Tek bir kitaplık, birden fazla kitaplık ve OAuth 2.0 kavramını dahil edip öğrenmek yerine tek bir birleştirilmiş arayüze odaklanmanızı sağlayarak entegrasyon sürenizi ve harcadığınız çabayı azaltır.
  • Basitlik ve okunabilirlik için getter tarzı işlevler aracılığıyla dolaylı yönlendirme kaldırıldı.
  • Yetkilendirme yanıtlarını işlerken, istekleri karşılamak için Promise kullanıp kullanmayacağınızı seçersiniz. Bu karar sizin için verilmez.
  • JavaScript için Google API İstemci Kitaplığı, aşağıdaki değişikliklerle güncellendi:
    • gapi.auth2 modülü ile ilişkili nesneler ve yöntemler artık arka planda sizin için otomatik olarak yüklenmiyor ve daha açık Google Kimlik Hizmetleri kitaplığı nesneleri ve yöntemleriyle değiştirildi.
    • Kullanıcı güvenliğini ve farkındalığını artırmak için süresi dolmuş erişim jetonlarının otomatik olarak yenilenmesi kaldırıldı. Erişim jetonunun süresi dolduktan sonra uygulamanızın Google API hata yanıtlarını işlemesi, yeni ve geçerli bir erişim jetonu istemesi ve alması gerekir.
    • Kimlik doğrulama ve yetkilendirme anlarının net bir şekilde ayrılmasını desteklemek için artık kullanıcının uygulamanızda ve Google Hesabı'nda aynı anda oturum açması ve erişim jetonu verilmesi desteklenmemektedir. Daha önce, erişim jetonu isteğinde bulunmak kullanıcıların Google Hesaplarında oturum açmalarını da sağlıyor ve kullanıcı kimlik doğrulaması için JWT kimlik jetonu kimlik bilgisi döndürüyordu.
  • Kullanıcı güvenliğini ve gizliliğini artırmak için yetkilendirme amacıyla verilen kullanıcı başına kimlik bilgileri, yalnızca bir erişim jetonu ve bunu yönetmek için gereken bilgileri içerecek şekilde en az ayrıcalık ilkesine uygun olarak verilir.