एचटीटीपी एंडपॉइंट पर बनाए गए Google Chat ऐप्लिकेशन के लिए, इस सेक्शन में यह पुष्टि करने का तरीका बताया गया है कि आपके एंडपॉइंट पर भेजे गए अनुरोध, Chat से कैसे भेजे जाते हैं.
आपके Chat ऐप्लिकेशन के एंडपॉइंट पर इंटरैक्शन इवेंट भेजने के लिए, Google आपकी सेवा से अनुरोध करता है. यह पुष्टि करने के लिए कि अनुरोध Google से आ रहा है, Chat आपके एंडपॉइंट के हर एचटीटीपीएस अनुरोध के Authorization
हेडर में बियरर टोकन शामिल करता है. जैसे:
POST
Host: yourappurl.com
Authorization: Bearer AbCdEf123456
Content-Type: application/json
User-Agent: Google-Dynamite
पिछले उदाहरण में मौजूद स्ट्रिंग AbCdEf123456
, बियरर अनुमति वाला टोकन है. यह Google का क्रिप्टोग्राफ़िक टोकन है. बेयरर टोकन का टाइप और audience
फ़ील्ड की वैल्यू, इस बात पर निर्भर करती है कि Chat ऐप्लिकेशन को कॉन्फ़िगर करते समय, आपने पुष्टि करने वाली किस ऑडियंस को चुना है.
अगर आपने Cloud Functions या Cloud Run का इस्तेमाल करके Chat ऐप्लिकेशन लागू किया है, तो Cloud IAM अपने-आप टोकन की पुष्टि करता है. आपको सिर्फ़ Google Chat के सर्विस खाते को, अनुमति पा चुके उपयोगकर्ता के तौर पर जोड़ना होगा. अगर आपके ऐप्लिकेशन में अपना एचटीटीपी सर्वर लागू करता है, तो ओपन सोर्स Google API क्लाइंट लाइब्रेरी का इस्तेमाल करके, बेयरर टोकन की पुष्टि की जा सकती है:
- 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
अगर टोकन की पुष्टि Chat ऐप्लिकेशन के लिए नहीं होती है, तो आपकी सेवा को अनुरोध का जवाब एचटीटीपीएस रिस्पॉन्स कोड 401 (Unauthorized)
के साथ देना चाहिए.
Cloud Functions या Cloud Run का इस्तेमाल करके अनुरोधों की पुष्टि करें
अगर आपके फ़ंक्शन लॉजिक को Cloud Functions या Cloud Run का इस्तेमाल करके लागू किया गया है, तो आपको Chat ऐप्लिकेशन की कनेक्शन सेटिंग के पुष्टि करने वाले ऑडियंस फ़ील्ड में एचटीटीपी एंडपॉइंट यूआरएल चुनना होगा. साथ ही, यह पक्का करना होगा कि कॉन्फ़िगरेशन में मौजूद एचटीटीपी एंडपॉइंट यूआरएल, Cloud Function या Cloud Run एंडपॉइंट के यूआरएल से मेल खाता हो.
इसके बाद, आपको Google Chat के सेवा खाते chat@system.gserviceaccount.com
को, ट्रिगर करने वाले के तौर पर अनुमति देनी होगी.
Cloud Functions (पहले जनरेशन) का इस्तेमाल करने का तरीका यहां बताया गया है:
कंसोल
अपने फ़ंक्शन को Google Cloud पर डिप्लॉय करने के बाद:
Google Cloud Console में, Cloud Functions पेज पर जाएं:
Cloud Functions की सूची में, डेटा पाने वाले फ़ंक्शन के बगल में मौजूद चेकबॉक्स पर क्लिक करें. (फ़ंक्शन पर क्लिक न करें.)
स्क्रीन पर सबसे ऊपर, अनुमतियां पर क्लिक करें. अनुमतियां पैनल खुलता है.
प्रिंसिपल जोड़ें पर क्लिक करें.
प्रिंसिपल वाले नए फ़ील्ड में,
chat@system.gserviceaccount.com
डालें.कोई भूमिका चुनें ड्रॉप-डाउन मेन्यू से, Cloud Functions > Cloud Functions Invoker चुनें.
सेव करें पर क्लिक करें.
gcloud
gcloud functions add-iam-policy-binding
कमांड का इस्तेमाल करें:
gcloud functions add-iam-policy-binding RECEIVING_FUNCTION \
--member='serviceAccount:chat@system.gserviceaccount.com' \
--role='roles/cloudfunctions.invoker'
RECEIVING_FUNCTION
की जगह, अपने Chat ऐप्लिकेशन के फ़ंक्शन का नाम डालें.
यहां Cloud Functions (दूसरी जनरेशन) या Cloud Run सेवाओं का इस्तेमाल करने का तरीका बताया गया है:
कंसोल
अपने फ़ंक्शन या सेवा को Google Cloud पर डिप्लॉय करने के बाद:
Google Cloud Console में, Cloud Run पेज पर जाएं:
Cloud Run की सेवाओं की सूची में, डेटा पाने वाले फ़ंक्शन के बगल में मौजूद चेकबॉक्स पर क्लिक करें. (फ़ंक्शन पर क्लिक न करें.)
स्क्रीन पर सबसे ऊपर, अनुमतियां पर क्लिक करें. अनुमतियां पैनल खुलता है.
प्रिंसिपल जोड़ें पर क्लिक करें.
नए प्रिंसिपल फ़ील्ड में,
chat@system.gserviceaccount.com
डालें.कोई भूमिका चुनें ड्रॉप-डाउन मेन्यू से, Cloud Run > Cloud Run Invoker चुनें.
सेव करें पर क्लिक करें.
gcloud
gcloud functions add-invoker-policy-binding
कमांड का इस्तेमाल करें:
gcloud functions add-invoker-policy-binding RECEIVING_FUNCTION \
--member='serviceAccount:chat@system.gserviceaccount.com'
RECEIVING_FUNCTION
की जगह, अपने Chat ऐप्लिकेशन के फ़ंक्शन का नाम डालें.
आईडी टोकन की मदद से एचटीटीपी अनुरोधों की पुष्टि करना
अगर Chat ऐप्लिकेशन की कनेक्शन सेटिंग के 'पुष्टि करने के लिए ऑडियंस' फ़ील्ड को एचटीटीपी एंडपॉइंट यूआरएल पर सेट किया गया है, तो अनुरोध में मौजूद, 'बियरर' अनुमति टोकन, Google के हस्ताक्षर वाला OpenID Connect (OIDC) आईडी टोकन होता है.
email
फ़ील्ड को chat@system.gserviceaccount.com
पर सेट किया गया है.
पुष्टि करने वाले उपयोगकर्ता फ़ील्ड को उस यूआरएल पर सेट किया गया है जिसे आपने अपने Chat ऐप्लिकेशन को अनुरोध भेजने के लिए, Google Chat में कॉन्फ़िगर किया है. उदाहरण के लिए, अगर आपके Chat ऐप्लिकेशन का कॉन्फ़िगर किया गया एंडपॉइंट https://example.com/app/
है, तो आईडी टोकन में पुष्टि करने वाले उपयोगकर्ता फ़ील्ड का वैल्यू https://example.com/app/
होगा.
इन सैंपल में, यह पुष्टि करने का तरीका बताया गया है कि कैरियर टोकन को Google Chat ने जारी किया है या नहीं. साथ ही, Google OAuth क्लाइंट लाइब्रेरी का इस्तेमाल करके, आपके ऐप्लिकेशन को टारगेट किया गया है या नहीं.
Java
Python
Node.js
प्रोजेक्ट नंबर JWT की मदद से अनुरोधों की पुष्टि करना
अगर Chat ऐप्लिकेशन की कनेक्शन सेटिंग में, पुष्टि करने के लिए ऑडियंस फ़ील्ड को Project
Number
पर सेट किया गया है, तो अनुरोध में मौजूद, बियरर की अनुमति वाला टोकन, खुद पर हस्ताक्षर किया गया JSON वेब टोकन (JWT) होता है. इसे chat@system.gserviceaccount.com
जारी करता है और इस पर हस्ताक्षर करता है.
audience
फ़ील्ड को उस Google Cloud प्रोजेक्ट नंबर पर सेट किया जाता है जिसका इस्तेमाल आपने Chat ऐप्लिकेशन बनाने के लिए किया था. उदाहरण के लिए, अगर आपके Chat ऐप्लिकेशन का Cloud प्रोजेक्ट नंबर 1234567890
है, तो JWT में audience
फ़ील्ड 1234567890
होगा.
इन सैंपल में, यह पुष्टि करने का तरीका बताया गया है कि कैरियर टोकन को Google Chat ने जारी किया है या नहीं. साथ ही, यह भी बताया गया है कि Google OAuth क्लाइंट लाइब्रेरी का इस्तेमाल करके, आपके प्रोजेक्ट को टारगेट किया गया है या नहीं.
Java
Python
Node.js
मिलते-जुलते विषय
- Google Workspace में पुष्टि करने और अनुमति देने के बारे में खास जानकारी के लिए, पुष्टि करने और अनुमति देने के बारे में जानें देखें.
- Chat में पुष्टि करने और अनुमति देने की खास जानकारी के लिए, पुष्टि करने की खास जानकारी देखें.
- उपयोगकर्ता के क्रेडेंशियल या सेवा खाते की मदद से, पुष्टि करने और अनुमति देने की सुविधा सेट अप करें.