Kimlik doğrulama ve yetkilendirme, sırasıyla kimliği ve kaynaklara erişimi doğrulamak için kullanılan mekanizmalardır. Bu dokümanda, Chat uygulamaları ve Chat API istekleri için kimlik doğrulama ve yetkilendirmenin nasıl işlediği açıklanmaktadır.
Sürece genel bakış
Aşağıdaki şemada, Google Chat için üst düzey kimlik doğrulama ve yetkilendirme adımları gösterilmektedir:
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. Daha fazla bilgi için Google Workspace'te uygulama geliştirme ve Chat uygulaması geliştirme makalelerine göz atın.
Call Chat API: Uygulamanız Chat API'yi çağırdığında, kimlik doğrulama kimlik bilgilerini Chat API'ye gönderir. Uygulamanız bir hizmet hesabıyla kimlik doğrulaması yaparsa kimlik bilgileri uygulama kodunun bir parçası olarak gönderilir. Uygulamanız, henüz verilmemiş bir kullanıcının kimlik doğrulamasını kullanarak Chat API'nin çağrılmasını gerektiriyorsa kullanıcıdan oturum açmasını ister.
Kaynak isteme: Uygulamanız, kimlik doğrulamayı ayarlarken belirttiğiniz kapsamlarla erişim izni ister.
İzin isteyin: Uygulamanızın kimliği kullanıcı olarak doğrulanıyorsa Google bir OAuth izin ekranı görüntüler. Böylece kullanıcı, uygulamanızın istenen verilere erişim izni verip vermeyeceğini belirleyebilir. Hizmet hesabıyla kimlik doğrulama için kullanıcı izni gerekmez.
Kaynaklar için onaylanmış istek gönderin: Kullanıcı, yetkilendirme kapsamlarına izin verirse uygulamanız, kimlik bilgilerini ve kullanıcı tarafından onaylanan kapsamları bir istekte paketler. İstek, erişim jetonu almak için Google yetkilendirme sunucusuna gönderilir.
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 kısıtlayıcıysa uygulamanız jeton tarafından sınırlandırılan tüm özellikleri devre dışı bırakır.
İ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.
Yenileme jetonu alma (isteğe bağlı): Uygulamanızın, tek bir erişim jetonunun geçerlilik süresi bittikten sonra Google Chat API'ye erişmesi gerekiyorsa yenileme jetonu alabilir. Daha fazla bilgiyi Google API'lerine erişmek için OAuth 2.0'ı kullanma başlıklı makalede bulabilirsiniz.
Daha fazla kaynak isteme: Uygulamanızın daha fazla erişime ihtiyacı varsa kullanıcıdan yeni kapsamlar vermesini ister. Bu da, erişim jetonu almak için yeni bir istekle sonuçlanır (3-6. adımlar).
Chat uygulamaları için kimlik doğrulama gerektiğinde
Chat uygulamaları, kullanıcı etkileşimine yanıt olarak veya eşzamansız olarak mesaj gönderebilir. Ayrıca, kullanıcı adına çeşitli görevleri (ör. Chat alanı oluşturma veya Chat alanındaki kullanıcıların listesini alma) tamamlayabilirler.
Chat uygulaması, yanıtı işlerken Chat API'yi veya başka bir Google API'sini çağırmadığı sürece, Chat uygulamaları kullanıcı etkileşimine yanıt vermek için kimlik doğrulama gerektirmez.
Chat uygulamaları, eşzamansız mesajlar göndermek veya kullanıcı adına görev gerçekleştirmek için Chat API'ye RESTful istekler göndererek kimlik doğrulama ve yetkilendirme gerektirir.
Kullanıcı etkileşimlerine verilen yanıtlar için kimlik doğrulama gerekmez
Google Chat uygulamalarının etkileşim etkinliklerini eşzamanlı olarak almak ve bunlara yanıt vermek için kullanıcı veya Chat uygulaması olarak kimlik doğrulaması yapması gerekmez.
Google Chat uygulamaları, bir kullanıcı Chat uygulamasıyla etkileşime geçtiğinde veya Chat uygulamasını çağırdığında aşağıdakiler de dahil olmak üzere etkileşim etkinlikleri alır:
- Kullanıcı bir Chat uygulamasına mesaj gönderir.
- Kullanıcı bir Chat uygulamasından @bahseder.
- Kullanıcı, Chat uygulamasının eğik çizgi komutlarından birini çağırır.
Aşağıdaki şemada, Chat kullanıcısı ile Chat uygulaması arasındaki istek-yanıt sırası gösterilmektedir:
- Kullanıcı, Google Chat'teki Chat uygulamasına bir mesaj gönderir.
- Google Chat, mesajı uygulamaya yönlendirir.
- Uygulama mesajı alır, işler ve Google Chat'e yanıt döndürür.
- Google Chat, yanıtı kullanıcı için veya bir alanda oluşturur.
Bu sıra, her Chat uygulaması etkileşim etkinliği için tekrarlanır.
Eşzamansız mesajlar için kimlik doğrulama gerekir
Eşzamansız mesajlar, bir Chat uygulaması Chat API'ye istekte bulunduğunda gerçekleşir. Bu işlem için kimlik doğrulama ve yetkilendirme gerekir.
Chat uygulamaları, Chat API'yi çağırarak Google Chat'e mesaj gönderebilir veya kullanıcı adına görevleri tamamlayıp verilere erişebilir. Örneğin, sunucu kesintisi algılandıktan sonra Chat uygulaması Chat API'yi çağırarak şunları yapabilir:
- Kesintiyi araştırmak ve düzeltmek için özel bir Chat alanı oluşturun.
- Chat alanına kullanıcı ekleyin.
- Kesintiyle ilgili ayrıntıları paylaşmak için Chat alanında bir mesaj yayınlayın.
Aşağıdaki şemada, Chat uygulaması ile Chat alanı arasındaki eşzamansız mesaj sırası gösterilmektedir:
- Bir Chat uygulamaları,
spaces.messages.create
yöntemini kullanarak Chat API'yi çağırarak bir mesaj oluşturur ve HTTP isteğine kullanıcı kimlik bilgilerini ekler. - Google Chat, Chat uygulamasının kimliğini hizmet hesabı veya kullanıcı kimlik bilgileriyle doğrular.
- Google Chat, uygulamanın mesajını belirli bir Chat alanına oluşturur.
Chat API kapsamları
Kullanıcılara ve uygulama incelemecilerine hangi bilgilerin gösterileceğini tanımlamak ve daha sonra yayınlayabilmeniz için uygulamanızı kaydetmek için OAuth izin ekranını yapılandırın ve kapsamları seçin.
Uygulamanıza verilen erişim düzeyini tanımlamak için yetkilendirme kapsamlarını tanımlayıp beyan etmeniz gerekir. Yetkilendirme kapsamı; Google Workspace uygulamasının adını, eriştiği verilerin türünü ve erişim düzeyini içeren bir OAuth 2.0 URI dizesidir.
Hassas olmayan kapsamlar
Kapsam kodu | Açıklama |
---|---|
https://www.googleapis.com/auth/chat.bot
|
Chat uygulamalarının sohbetleri görüntülemesine ve mesaj göndermesine izin verir. Chat uygulamalarında kullanılabilen tüm özelliklere erişim izni verir. |
Hassas kapsamlar
Kapsam kodu | Açıklama |
---|---|
https://www.googleapis.com/auth/chat.spaces
|
Chat'te görüşmeler ve alanlar oluşturup meta verileri (geçmiş ayarları ve erişim ayarları dahil) görün veya düzenleyin. |
https://www.googleapis.com/auth/chat.spaces.create
|
Chat'te yeni görüşmeler oluşturabilirsiniz. |
https://www.googleapis.com/auth/chat.spaces.readonly
|
Chat'te sohbeti ve alanları görüntüleyin. |
https://www.googleapis.com/auth/chat.memberships
|
Chat'teki görüşmelerde üyeleri görüntüleme, ekleme, güncelleme veya kaldırma. |
https://www.googleapis.com/auth/chat.memberships.app
|
Kendisini Google Chat'teki görüşmelere ekleme ve görüşmelerden kaldırma. |
https://www.googleapis.com/auth/chat.memberships.readonly
|
Chat görüşmelerindeki üyeleri görüntüleme. |
https://www.googleapis.com/auth/chat.messages.create
|
Chat'te mesaj oluşturma ve gönderme. |
https://www.googleapis.com/auth/chat.messages.reactions
|
Chat'te mesajlara tepkileri görüntüleyin, ekleyin ve silin. |
https://www.googleapis.com/auth/chat.messages.reactions.create
|
Chat'te bir mesaja tepki ekleyebilirsiniz. |
https://www.googleapis.com/auth/chat.messages.reactions.readonly
|
Chat'te bir mesaja verilen tepkileri görüntüleyin. |
https://www.googleapis.com/auth/chat.users.readstate
|
Chat görüşmelerinin son okunma zamanını görüntüleme ve değiştirme. |
https://www.googleapis.com/auth/chat.users.readstate.readonly
|
Chat görüşmelerinin son okunma zamanını görüntüleyin. |
https://www.googleapis.com/auth/chat.admin.spaces.readonly
|
Chat'te yöneticinin alanına ait sohbetleri ve alanları görüntüleme. |
https://www.googleapis.com/auth/chat.admin.spaces
|
Chat'te yöneticinin alanına ait sohbetleri ve alanları görüntüleme veya düzenleme. |
https://www.googleapis.com/auth/chat.admin.memberships.readonly
|
Chat'te yönetici alanına ait görüşmelerdeki üyeleri ve yöneticileri görüntüleme. |
https://www.googleapis.com/auth/chat.admin.memberships
|
Chat'te yöneticinin alanına ait görüşmelerdeki üyeleri ve yöneticileri görüntüleme, ekleme, güncelleme ve kaldırma. |
Kısıtlanmış kapsamlar
Kapsam kodu | Açıklama |
---|---|
https://www.googleapis.com/auth/chat.delete
|
Chat'te görüşmeleri ve alanları silin ve ilişkili dosyalara erişimi kaldırın. |
https://www.googleapis.com/auth/chat.import
|
Alanları, mesajları ve üyelikleri Chat'e aktarın. Daha fazla bilgi için Chat uygulamalarını verileri içe aktarması için yetkilendirme başlıklı makaleyi inceleyin. |
https://www.googleapis.com/auth/chat.messages
|
Mesajları görüntüleme, oluşturma, gönderme, güncelleme ve silme; mesajlara tepki ekleme, tepkileri görüntüleme ve silme. |
https://www.googleapis.com/auth/chat.messages.readonly
|
Chat'te mesajları ve tepkileri görüntüleyin. |
https://www.googleapis.com/auth/chat.admin.delete
|
Yöneticinin alanına ait görüşmeleri ve alanları silin ve Chat'teki ilişkili dosyalara erişimi kaldırın. |
Önceki tablolarda yer alan kapsamlar, aşağıdaki tanımlara göre hassasiyetlerini gösterir:
Hassas değil: Bu kapsamlar en küçük yetkilendirme erişimi alanını sağlar ve yalnızca temel uygulama doğrulaması gerektirir. Bu şart hakkında bilgi edinmek için Doğrulama işlemine hazırlanma adımları bölümüne bakın.
Hassas - Bu kapsamlar, uygulamanızın kullanıcıdan yetkilendirme aldıktan sonra belirli bir kullanıcının Google verilerine erişmesini sağlar. Ek uygulama doğrulamasından geçmeniz gerekir. Bu gereksinim hakkında bilgi edinmek için Hassas kapsamlar isteyen uygulamalara yönelik adımlar bölümüne bakın.
Kısıtlanmış: Bu kapsamlar, Google kullanıcı verilerine geniş kapsamlı erişim sağlar ve kısıtlanmış kapsam doğrulama sürecinden geçmenizi gerektirir. Bu şart hakkında bilgi edinmek için Google API Hizmetleri: Kullanıcı Verileri Politikası ve Belirli API Kapsamları İçin Ek Gereksinimler sayfalarına göz atın. Ayrıca, Kısıtlanmış kapsamlar isteyen uygulamalara ilişkin adımlar bölümüne de bakın.
Uygulamanız diğer Google API'lerine erişim gerektiriyorsa bu kapsamları da ekleyebilirsiniz. Google API kapsamları hakkında daha fazla bilgi için Google API'lerine Erişmek için OAuth 2.0'ı Kullanma bölümüne bakın.
Google Workspace API'lerinin kapsamları hakkında daha fazla bilgi edinmek için OAuth izin ekranını yapılandırma ve kapsamları seçme başlıklı makaleyi inceleyin.
Gerekli kimlik doğrulama türleri
Chat uygulamaları, Chat API ile kimlik doğrulama ve yetkilendirme için iki yöntemden yararlanabilir: kullanıcı kimlik bilgileri veya hizmet hesapları.
Kullanıcı kimlik bilgisi yetkilendirmesi sayesinde Chat uygulamaları, kullanıcı verilerine erişebilir ve kullanıcı adına işlemleri tamamlayabilir. OAuth kapsamları, yetkilendirilen verileri ve işlemleri belirtir.
Uygulama yetkilendirmesi ile bir Chat uygulaması, hizmet hesabı kimlik bilgilerini kullanarak API'ye bir uygulama olarak erişir. Uygulama yetkilendirmesi her zaman chat.bot
yetkilendirme kapsamını kullanır.
Belirli bir API isteği için ne tür kimlik bilgilerinin kullanılacağına karar verirken bazı API yöntemlerinin yalnızca belirli bir kimlik bilgisi türünü desteklediğini unutmayın. Bir API yöntemi her iki kimlik bilgisini de destekliyorsa çağrıda kullanılan kimlik bilgilerinin türü, döndürülen sonucu etkiler:
- Uygulama yetkilendirmesi ile, bu yöntemler yalnızca uygulamanın erişebileceği kaynakları döndürür.
- Kullanıcı yetkilendirmesiyle bu yöntemler yalnızca kullanıcının Chat kullanıcı arayüzünde erişebileceği kaynakları döndürür.
Örneğin, uygulama yetkilendirmesiyle ListSpaces
yönteminin çağrılması, uygulamanın üyesi olduğu alanların listesini döndürür. Kullanıcı yetkilendirmesiyle ListSpaces
çağrısı yapıldığında kullanıcının üyesi olduğu alanların listesi döndürülür. Pratikte, uygulamanız Chat API'yi çağırırken istediğiniz işleve bağlı olarak her iki yetkilendirme türünü de kullanabilir.
Eşzamansız Chat API çağrıları için
Aşağıdaki tabloda Chat API yöntemleri ve desteklenen yetkilendirme kapsamları listelenmektedir:
Yöntem | Kullanıcı kimlik doğrulaması desteklenir | Uygulama kimlik doğrulaması desteklenir | Desteklenen yetkilendirme kapsamları | |
---|---|---|---|---|
Alanlar | ||||
Alan oluşturma | — |
Kullanıcı kimlik doğrulaması etkinken:
|
||
Alan oluşturma | — |
Kullanıcı kimlik doğrulaması etkinken:
|
||
Alan satın alma |
Kullanıcı kimlik doğrulaması etkinken:
|
|||
Alanları listeleme |
Kullanıcı kimlik doğrulaması etkinken:
|
|||
Alan arayın |
Yönetici ayrıcalıklarını kullanarak kullanıcı kimlik doğrulaması yapıldığında:
|
|||
Alan güncelleme | — |
Kullanıcı kimlik doğrulaması etkinken:
|
||
Alan silme | — |
Kullanıcı kimlik doğrulaması etkinken:
|
||
Alan için içe aktarma işlemini tamamlama | — |
Kullanıcı kimlik doğrulaması etkinken:
|
||
Doğrudan mesajları bulma |
Kullanıcı kimlik doğrulaması etkinken:
|
|||
Üyeler | ||||
Üye oluşturma | — |
Kullanıcı kimlik doğrulaması etkinken:
|
||
Üye olun |
Kullanıcı kimlik doğrulaması etkinken:
|
|||
Liste üyeleri |
Kullanıcı kimlik doğrulaması etkinken:
|
|||
Üye silme | — |
Kullanıcı kimlik doğrulaması etkinken:
|
||
Üye güncelleme | — |
Kullanıcı kimlik doğrulaması etkinken:
|
||
Mesajlar | ||||
Mesaj oluşturma |
Kullanıcı kimlik doğrulaması etkinken:
|
|||
Mesaj alma |
Kullanıcı kimlik doğrulaması etkinken:
|
|||
Liste mesajları | — |
Kullanıcı kimlik doğrulaması etkinken:
|
||
Mesaj güncelleme |
Kullanıcı kimlik doğrulaması etkinken:
|
|||
Mesaj silme |
Kullanıcı kimlik doğrulaması etkinken:
|
|||
Tepkiler | ||||
Tepki oluşturma | — |
Kullanıcı kimlik doğrulaması etkinken:
|
||
Tepkileri listeleme | — |
Kullanıcı kimlik doğrulaması etkinken:
|
||
Tepkiyi silme | — |
Kullanıcı kimlik doğrulaması etkinken:
|
||
Medya ve ekler | ||||
Medyayı dosya eki olarak yükleme | — |
Kullanıcı kimlik doğrulaması etkinken:
|
||
Medyayı indirin |
Kullanıcı kimlik doğrulaması etkinken:
|
|||
Mesaj eki alma | — |
Uygulama kimlik doğrulaması etkinken:
|
||
Kullanıcı okuma durumları | ||||
Kullanıcının alan okuma durumunu öğrenme | — |
Kullanıcı kimlik doğrulaması etkinken:
|
||
Kullanıcının alanın okunma durumunu güncelleme | — |
Kullanıcı kimlik doğrulaması etkinken:
|
||
Bir kullanıcının ileti dizisi okunma durumunu alma | — |
Kullanıcı kimlik doğrulaması etkinken:
|
||
Alan etkinlikleri | ||||
Alan etkinlikleri alın | — |
Kullanıcı kimlik doğrulaması etkinken:
|
||
Alan etkinliklerini listeleme | — |
Kullanıcı kimlik doğrulaması etkinken:
|
Chat uygulaması etkileşim etkinlikleri için
Aşağıdaki tabloda, kullanıcıların Chat uygulamalarıyla etkileşime geçtiği yaygın yöntemler ve kimlik doğrulamanın zorunlu olup olmadığı veya desteklenip desteklenmediği açıklanmıştır:
Senaryo | Kimlik doğrulama gerekmez. | Kullanıcı kimlik doğrulaması desteklenir | Uygulama kimlik doğrulaması desteklenir | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Şu kişilerden mesaj al: |
|
|||||||||||||||
Mesajları yanıtlama: |
|
|||||||||||||||
Yeni mesaj gönderme: |
|
İlgili konular
- Google Workspace'te kimlik doğrulama ve yetkilendirmeye genel bakış için Kimlik doğrulama ve yetkilendirme hakkında bilgi edinme başlıklı makaleyi inceleyin.
- Google Cloud'daki kimlik doğrulama ve yetkilendirmeye genel bakış için Kimlik doğrulamaya genel bakış sayfasını inceleyin.
- Hizmet hesapları hakkında daha fazla bilgi edinmek için Hizmet hesapları sayfasını inceleyin.
- Google API'lerinin OAuth 2.0'dan nasıl yararlandığı hakkında daha fazla bilgi edinmek için Google API'lerine Erişmek için OAuth 2.0'ı Kullanma bölümüne bakın.
- Kullanıcı kimlik bilgileri veya hizmet hesabı ile kimlik doğrulama ve yetkilendirme ayarlayın.