Bu bölümde, HTTP uç noktaları üzerine oluşturulan Google Chat uygulamaları için Uç noktanıza gönderilen isteklerin Chat'ten geldiğini doğrulayın.
Etkileşim etkinliklerini Chat uygulamanızın
uç noktanız olduğunda Google, hizmetinize istekler gönderir. Bu isteğin
Chat, Google'dan geliyor. Chat'te
hamiline ait jeton
ifadesini Authorization
arayın. Örneğin:
POST
Host: yourappurl.com
Authorization: Bearer AbCdEf123456
Content-Type: application/json
User-Agent: Google-Dynamite
Önceki örnekte bulunan AbCdEf123456
dizesi, hamiline ait yetkilendirmedir
jeton. Bu, Google tarafından oluşturulan bir şifreleme jetonudur. Taşıyıcının türü
ve jetonun değerini
audience
alanı, verileri yapılandırmanın önemli bir yoludur.
Chat uygulamasını yapılandırma.
Chat uygulamanızı Cloud kullanarak uyguladıysanız Functions veya Cloud Run olan Cloud IAM, jeton doğrulamasını otomatik olarak gerçekleştirir. Siz Google Chat hizmet hesabını yetkili bir çağrıcı olarak eklemeniz yeterlidir. Uygulamanız kendi HTTP sunucusunu uyguluyorsa hamiline ait jetonunuzu doğrulayabilirsiniz Açık kaynak bir Google API istemci kitaplığı kullanarak:
- Java: https://github.com/google/google-api-java-client
- Python: https://github.com/google/google-api-python-client
- Node.js: https://github.com/google/google-api-nodejs-client
- .NET: https://github.com/google/google-api-dotnet-client
Jeton Chat uygulaması için doğrulama yapmazsa
hizmeti, isteğe bir HTTPS yanıt koduyla yanıt vermelidir
401 (Unauthorized)
Cloud Functions veya Cloud Run kullanarak isteklerin kimliğini doğrulama
İşlev mantığınız Cloud Functions veya Cloud Run kullanılarak uygulanırsa
App URL
Chat uygulaması
bağlantı ayarınızı yapın ve
uygulama URL'si Cloud Functions işlevinin URL'sine veya
Cloud Run uç noktası.
Ardından, Google Chat hizmet hesabını yetkilendirmeniz gerekir
Çağrı yapan olarak chat@system.gserviceaccount.com
.
Aşağıdaki adımlarda Cloud Functions'ın (1. nesil) nasıl kullanılacağı gösterilmektedir:
Konsol
İşlevinizi Google Cloud'a dağıttıktan sonra:
Google Cloud Console'da Cloud Functions sayfasına gidin:
Cloud Functions listesinde, alıcı yapılandırmasının yanındaki onay kutusunu işaretleyin. işlevini kullanın. (İşlevi tıklamayın.)
Ekranın üst kısmındaki İzinler'i tıklayın. İzinler paneli açılır.
Ana hesap ekle'yi tıklayın.
Yeni ana hesaplar alanına
chat@system.gserviceaccount.com
yazın.Cloud Functions rolünü seçin > Cloud Functions Çağırıcısı'na Bir rol seçin açılır menüsü.
Kaydet'i tıklayın.
gcloud
gcloud functions add-iam-policy-binding
komutunu kullanın:
gcloud functions add-iam-policy-binding RECEIVING_FUNCTION \
--member='serviceAccount:chat@system.gserviceaccount.com' \
--role='roles/cloudfunctions.invoker'
RECEIVING_FUNCTION
yerine
Chat uygulamasının işlevi.
Aşağıdaki adımlarda, Cloud Functions (2. nesil) veya Cloud Run hizmetlerinin nasıl kullanılacağı gösterilmektedir:
Konsol
İşlevinizi veya hizmetinizi Google Cloud'a dağıttıktan sonra:
Google Cloud Console'da Cloud Run sayfasına gidin:
Cloud Run hizmetleri listesinde alıcı hizmet sağlayıcısının yanındaki onay kutusunu işaretleyin. işlevini kullanın. (İşlevi tıklamayın.)
Ekranın üst kısmındaki İzinler'i tıklayın. İzinler paneli açılır.
Ana hesap ekle'yi tıklayın.
Yeni ana hesaplar alanına
chat@system.gserviceaccount.com
yazın.Cloud Run rolünü seçin > Cloud Run Çağırıcısı'nı kullanarak Bir rol seçin açılır menüsü.
Kaydet'i tıklayın.
gcloud
gcloud functions add-invoker-policy-binding
komutunu kullanın:
gcloud functions add-invoker-policy-binding RECEIVING_FUNCTION \
--member='serviceAccount:chat@system.gserviceaccount.com'
RECEIVING_FUNCTION
yerine
Chat uygulamasının işlevi.
Uygulama URL'si Kimliği Jetonu ile isteklerin kimliğini doğrulama
Chat uygulamasının Authentication Audience (Kimlik Doğrulama Kitlesi) alanında
bağlantı ayarı App URL
olarak belirlenmişse
istekteki hamiline ait yetkilendirme jetonu Google tarafından imzalanmış bir RFC Connect'tir
(OIDC) Kimlik jetonu.
email
alanı chat@system.gserviceaccount.com
olarak ayarlanmış.
audience
alanı, Google Chat'in göndermek için yapılandırdığınız URL'ye ayarlandı
isteklerinizi karşılayın. Örneğin,
yapılandırılmış uç noktasıdır.
https://example.com/app/
ise kimlik jetonundaki audience
alanı
https://example.com/app/
.
Aşağıdaki örnekler, hamiline ait jetonun Google tarafından verilmiş olduğunun nasıl doğrulanacağını Google Chat'te yer alır ve Google OAuth istemci kitaplığı kullanılarak uygulamanızı hedefler.
Java
Python
Node.js
Proje Numarası JWT ile isteklerin kimliğini doğrulama
Chat uygulamasının Authentication Audience (Kimlik Doğrulama Kitlesi) alanında
bağlantı ayarı Project
Number
olarak belirlendiyse istekteki hamiline ait yetkilendirme jetonu kendinden imzalı bir
JSON Web Token (JWT),
chat@system.gserviceaccount.com
tarafından düzenlenmiş ve imzalanmıştır.
audience
alanı, kullandığınız Google Cloud projesi numarasına ayarlanır.
inceleyebilirsiniz. Örneğin,
Chat uygulamasının Cloud proje numarası:
1234567890
ise JWT'deki audience
alanı 1234567890
olur.
Aşağıdaki örnekler, hamiline ait jetonun Google tarafından verilmiş olduğunun nasıl doğrulanacağını Google Chat ile çalışır ve Google OAuth istemci kitaplığı kullanılarak projenizi hedefler.
Java
Python
Node.js
İlgili konular
- Google Workspace'teki kimlik doğrulama ve yetkilendirmeye genel bakış için: bkz. Kimlik doğrulama ve yetkilendirme hakkında bilgi edinin.
- Chat'teki kimlik doğrulama ve yetkilendirmeye genel bakış için: bkz. Kimlik doğrulama işlemine genel bakış.
- Şununla kimlik doğrulama ve yetkilendirmeyi ayarlayın: kullanıcı kimlik bilgileri veya hizmet hesabı ekleyebilirsiniz.