Chat uygulamaları ve API isteklerinin kimliğini doğrulama ve yetkilendirme

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

Kimlik doğrulama ve yetkilendirme işlemleri, sırasıyla kimlik ve kaynaklara erişimi doğrulamak için kullanılan mekanizmalardır. Bu dokümanda, kimlik doğrulama ve yetkilendirmenin Chat uygulamaları ve Chat API istekleri için nasıl çalıştığı özetlenmiştir.

Sürece genel bakış

Aşağıdaki şemada, Google Chat için kimlik doğrulama ve yetkilendirmenin üst düzey adımları gösterilmektedir:

Google Chat kimlik doğrulaması ve yetkilendirme için üst düzey adımlar
Şekil 1. Google Chat kimlik doğrulaması ve yetkilendirme için üst düzey adımlar

  1. Bir Google Cloud projesi yapılandırın, Chat API'yi etkinleştirin ve Chat uygulamanızı yapılandırın: Geliştirme sırasında bir Google Cloud projesi oluşturursunuz. Google Cloud projesinde Chat API'yi etkinleştirir, Chat uygulamanızı yapılandırır ve kimlik doğrulamayı ayarlarsınız.

  2. Chat API'ye çağrı yapma: Uygulamanız Chat Google REST API'yi çağırdığında (genellikle Google Chat'teki bir kullanıcı uygulamayı mesajla, karttaki bir düğmeyi tıklayarak veya eğik çizgi komutu vererek) çağırdıktan sonra Chat API'ye kimlik doğrulama bilgileri gönderir. Uygulamanız bir hizmet hesabıyla kimlik doğrulaması yapıyorsa kimlik bilgileri, uygulamanızın kodunun bir parçası olarak gönderilir. Uygulamanızın kullanıcı olarak kimliği doğrulanırsa kullanıcı bir oturum açma istemi alabilir.

  3. Kaynak isteme: Uygulamanız, kimlik doğrulama ayarlarını yaparken belirttiğiniz kapsamlarla erişim izni ister.

  4. İzin isteyin: Uygulamanızın kullanıcı olarak kimliği doğrulanıyorsa Google, kullanıcının istenen verilere erişmesine izin verip vermemeye karar verebilmesi için bir OAuth izin ekranı görüntüler. Hizmet hesabıyla kimlik doğrulama için kullanıcı izni gerekmez.

  5. Kaynaklar için onaylı istek gönderme: Kullanıcı yetkilendirme kapsamlarını kabul ederse uygulamanız, kimlik bilgilerini ve kullanıcı tarafından onaylanan kapsamları bir istekte gruplandırır. İstek, bir erişim jetonu almak için Google yetkilendirme sunucusuna gönderilir.

  6. Google bir erişim jetonu döndürür: Erişim jetonu, verilen kapsamların listesini içerir. Döndürülen kapsam listesi, istenen kapsamlardan daha sınırlıysa uygulamanız jeton tarafından sınırlanan özellikleri kapatır.

  7. İstenen kaynaklara erişim: Uygulamanız, Chat API'yi çağırmak ve Chat API kaynaklarına erişmek için Google'ın erişim jetonunu kullanır.

  8. Yenileme jetonu alma (isteğe bağlı): Uygulamanızın tek bir erişim jetonunun ömründen sonra Google Chat API'ye erişmesi gerekiyorsa yenileme jetonu alabilir.

  9. Daha fazla kaynak isteyin: Uygulamanız daha fazla erişime ihtiyaç duyuyorsa, kullanıcıdan yeni kapsamlar vermesini isteyerek erişim jetonu almayla ilgili yeni bir istek oluşturur (3.-6. adımlar).

Chat uygulamaları kimlik doğrulaması gerektirdiğinde

Chat uygulamaları, Google Chat'e eşzamanlı veya eşzamansız olarak mesaj gönderebilir. Ayrıca, kullanıcı adına Chat alanı oluşturma gibi görevleri de tamamlayabilirler.

Chat uygulaması bir yanıtı işlerken Chat REST API'yi veya başka bir Google API'sini çağırmadığı sürece eşzamanlı mesajlarda kimlik doğrulama gerekmez.

Eşzamansız mesajlar göndermek veya bir kullanıcı adına çalışmak için Chat uygulamaları, Chat REST API'ye RESTful isteklerinde bulunur. Bu istekler için kimlik doğrulama ve yetkilendirme gerekir.

Eşzamanlı iletiler için kimlik doğrulama gerekmez

Eşzamanlı mesajlar, Chat etkinliklerine verilen yanıtlardır. Google Chat uygulamaları, Chat uygulaması yapılandırma sayfasında yapılandırılıp yayınlandıktan sonra etkinlikleri alabilir ve yanıtlayabilir. Ayrıca, kimlik doğrulama veya yetkilendirme gerektirmez.

Eşzamanlı Chat etkinliklerine örnekler:

  • Bir kullanıcı, Google Chat'teki bir Chat uygulamasına mesaj gönderir.
  • Bir kullanıcı, Chat uygulamasından bahsediyor.
  • Bir kullanıcı, Chat uygulamasının eğik komutlardan birini çağırır.

Aşağıdaki şemada, bir Chat kullanıcısı ile Chat uygulaması arasındaki temel eşzamanlı istek yanıt yanıtı dizisi gösterilmektedir:

Eşzamanlı iletiler için yetkilendirme gerekmez
Şekil 2. Eşzamanlı iletiler için kimlik doğrulama gerekmez

  1. Kullanıcı, Google Chat'teki Chat uygulamasına bir mesaj gönderir.
  2. Google Chat, mesajı uygulamaya yönlendirir.
  3. Uygulama, mesajı alır, işler ve Google Chat'e yanıt gönderir.
  4. Google Chat, yanıtı kullanıcı için veya bir alanda oluşturur.

Bu adım, her Chat etkinliği için tekrar eder.

Eşzamansız iletiler kimlik doğrulama gerektiriyor

Eşzamansız mesajlar, bir Chat uygulaması kimlik doğrulama ve yetkilendirme gerektiren Chat REST API'ye istek gönderdiğinde oluşur.

Chat uygulamaları, REST API'yi çağırarak Google Chat'te mesaj yayınlayabilir veya görevleri tamamlayabilir ve kullanıcı adına verilere erişebilir. Örneğin, bir sunucu uygulaması algılandıktan sonra Chat uygulaması, Chat API'yi çağırarak:

  • Kesintileri araştırmak ve düzeltmek için Chat alanı oluşturun.
  • Chat alanına kullanıcı ekleyin.
  • Kesinti hakkında ayrıntılı bilgi vermek için Chat alanında bir mesaj yayınlayın.

Aşağıdaki şemada, bir Chat uygulaması ile Chat alanı arasındaki temel eşzamansız mesaj dizisi gösterilmektedir:

Eşzamansız iletiler için kimlik doğrulama gerekiyor
Şekil 3. Eşzamansız iletiler kimlik doğrulama gerektirir

  1. Chat uygulaması, spaces.messages.create yöntemini kullanarak Chat REST API'yi çağırarak bir mesaj oluşturur ve HTTP isteğine hizmet hesabı kimlik bilgilerini ekler.
  2. Google Chat, Chat uygulamasının kimliğini hizmet hesabı veya kullanıcı kimlik bilgileriyle doğrular.
  3. Google Chat, uygulamanın mesajını belirli bir Chat alanında oluşturur.

Chat API kapsamları

Uygulamanıza verilen erişim düzeyini tanımlamak için yetkilendirme kapsamlarını tanımlamanız ve belirtmeniz gerekir. Yetkilendirme kapsamı, Google Workspace uygulamasının adını, hangi tür verilere eriştiğini ve erişim düzeyini içeren bir OAuth 2.0 URI dizesidir.

Google Chat aşağıdaki kapsamları destekler:

Google Chat API Kapsamı Açıklama
https://www.googleapis.com/auth/chat.bot Chat uygulamalarının sohbetleri görüntülemesine ve mesaj göndermesine izin verir.
https://www.googleapis.com/auth/chat.delete Google Chat'te görüşmeleri ve alanları silebilir, ilişkili dosyalara erişimi kaldırabilirsiniz.
Üyelikler  
https://www.googleapis.com/auth/chat.memberships Google Chat görüşmelerindeki üyeleri görüntüleme, ekleme ve kaldırma.
https://www.googleapis.com/auth/chat.memberships.app Chat uygulamasının, kendisinin (diğer uygulamaları değil) Google Chat'teki görüşmelere eklenmesine ve görüşmelerden kaldırılmasına olanak tanır.
Mesajlar  
https://www.googleapis.com/auth/chat.messages Google Chat'te mesaj oluşturma, alma, güncelleme, silme ve listeleme.
https://www.googleapis.com/auth/chat.messages.reactions Google Chat'te mesajlara tepki ekleme, tepkileri görüntüleme ve silme.
https://www.googleapis.com/auth/chat.messages.reactions.create Google Chat'te mesajlara tepki ekleme.
https://www.googleapis.com/auth/chat.messages.reactions.readonly Google Chat'te mesajlara verilen tepkileri görüntüleyin.
https://www.googleapis.com/auth/chat.messages.readonly Google Chat'te mesajları alma ve listeleme.
Alanlar  
https://www.googleapis.com/auth/chat.spaces Google Chat'te görüşmeler ve alanlar oluşturun ve meta verileri (geçmiş ayarları dahil) görüntüleyin veya güncelleyin.
https://www.googleapis.com/auth/chat.spaces.create Google Chat'te görüşmeler oluşturun.
https://www.googleapis.com/auth/chat.spaces.readonly Google Chat'te sohbeti ve alanları görüntüleyin.

Google Workspace API'leri için kapsamlar hakkında daha fazla bilgi edinmek üzere Uygulamanız için kapsamları seçme bölümünü inceleyin.

Kullanılabilir kapsamların listesi için Google API'leri için OAuth 2.0 Kapsamları'na bakın.

Gerekli kimlik doğrulama türleri

Chat uygulamalarının, Chat API ile kimlik doğrulaması ve yetkilendirme yapabilmesinin iki yolu vardır: Kullanıcı kimlik bilgileri veya hizmet hesapları.

Kullanıcı kimlik bilgisi yetkilendirmesi sayesinde bir Chat uygulaması, belirtilen kullanıcı verilerine erişebilir ve kullanıcı adına belirtilen işlemleri tamamlayabilir. Yetkili veriler ve işlemler kapsamlar ile belirtilir.

Bir Chat uygulaması, hizmet hesabı yetkilendirmesiyle API'ye hizmet hesabı kimlik bilgilerini kullanarak uygulama olarak veya alan genelinde yetki yoluyla kullanıcının kimliğine bürünerek erişir.

Aşağıdaki tabloda, Chat uygulamalarının karşılaştığı yaygın senaryolar, kimlik doğrulama gerekip gerekmediği ve gerekliyse ne tür koşullar listeledikleri listelenmektedir:

Senaryo Kimlik doğrulaması gerekmiyor Kullanıcı kimlik doğrulaması desteklenir Hizmet hesabı destekleniyor
Şu kişilerden ileti alın:
Chat etkinlikleri
Apps Komut Dosyası geri çağırmaları
Google Cloud Pub/Sub
Mesajları yanıtlama:
Eş zamanlı olarak bir Chat etkinliği üzerinden
Eşzamanlı olarak, Apps Komut Dosyası geri çağırma dönüş değeri aracılığıyla
Eşzamansız olarak Chat REST API aracılığıyla
Yeni mesaj gönderme:
Gelen webhook'larla
Chat REST API ile
Chat alanı oluşturma:
Chat REST API ile
Alan genelinde yetki kullanma
Chat alanına kullanıcı ve uygulama ekleme:
Chat REST API ile
Alan genelinde yetki kullanma

Sonraki adım

Kullanıcı kimlik bilgileri veya hizmet hesabıyla kimlik doğrulama ve yetkilendirme ayarlarını yapın.