एचटीटीपी एंडपॉइंट पर बने Google Chat ऐप्लिकेशन के लिए, इस सेक्शन में यह पुष्टि करने का तरीका बताया गया है कि आपके एंडपॉइंट पर आने वाले अनुरोध, Chat से आ रहे हैं.
Google, आपके Chat ऐप्लिकेशन के एंडपॉइंट पर इंटरैक्शन इवेंट भेजने के लिए, आपकी सेवा से अनुरोध करता है. यह पुष्टि करने के लिए कि अनुरोध Google से आ रहा है, Chat आपके एंडपॉइंट पर भेजे जाने वाले हर एचटीटीपीएस अनुरोध के Authorization हेडर में, एक बियरर टोकन शामिल करता है. उदाहरण के लिए:
POST
Host: yourappurl.com
Authorization: Bearer AbCdEf123456
Content-Type: application/json
User-Agent: Google-Dynamite
ऊपर दिए गए उदाहरण में, स्ट्रिंग AbCdEf123456 बियरर ऑथराइज़ेशन टोकन है. यह Google की ओर से जनरेट किया गया एक क्रिप्टोग्राफ़िक टोकन है. बियरर
टोकन का टाइप और audience फ़ील्ड की वैल्यू, पुष्टि करने वाले
ऑडियंस के टाइप पर निर्भर करती है जिसे आपने Chat ऐप्लिकेशन को
कॉन्फ़िगर करते समय चुना था.
अगर आपने 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 Run फ़ंक्शन का इस्तेमाल करके अनुरोधों की पुष्टि करना
इसके बाद, आपको Google Chat के सेवा खाते chat@system.gserviceaccount.com को, इन्वोकर के तौर पर अनुमति देनी होगी. इसके लिए, यह तरीका अपनाएं:
कंसोल
Google Cloud पर अपना फ़ंक्शन या सेवा डिप्लॉय करने के बाद:
Google Cloud Console में, Cloud Run पेज पर जाएं:
Cloud Run की सेवाओं की सूची में, उस फ़ंक्शन के बगल में मौजूद चेकबॉक्स पर क्लिक करें जिसे अनुरोध मिल रहा है. (फ़ंक्शन पर क्लिक न करें.)
स्क्रीन पर सबसे ऊपर मौजूद, अनुमतियां पर क्लिक करें. अनुमतियां पैनल खुलता है.
प्रिंसिपल जोड़ें पर क्लिक करें.
नए प्रिंसिपल फ़ील्ड में,
chat@system.gserviceaccount.comडालें.कोई भूमिका चुनें मेन्यू में, Cloud Run भूमिका चुनें
Cloud Run इन्वोकर.
सेव करें पर क्लिक करें.
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 पर सेट किया जाता है. पुष्टि करने वाले ऑडियंस फ़ील्ड को उस यूआरएल पर सेट किया जाता है जिसे आपने Google Chat को, अपने Chat ऐप्लिकेशन पर अनुरोध भेजने के लिए कॉन्फ़िगर किया है. उदाहरण के लिए, अगर आपके Chat ऐप्लिकेशन का कॉन्फ़िगर किया गया एंडपॉइंट https://example.com/app/ है, तो आईडी टोकन में पुष्टि करने वाले ऑडियंस फ़ील्ड, https://example.com/app/ होगा.
पुष्टि करने का यह तरीका तब इस्तेमाल करने का सुझाव दिया जाता है, जब आपका एचटीटीपी एंडपॉइंट, ऐसी सेवा पर होस्ट न किया गया हो जो IAM-आधारित पुष्टि की सुविधा देती है. जैसे, Cloud Run. इस तरीके का इस्तेमाल करने पर, आपकी एचटीटीपी सेवा को उस एंडपॉइंट के यूआरएल के बारे में जानकारी चाहिए जहां वह चल रही है. हालांकि, उसे Cloud प्रोजेक्ट नंबर के बारे में जानकारी की ज़रूरत नहीं होती.
यहां दिए गए सैंपल में, Google OAuth क्लाइंट लाइब्रेरी का इस्तेमाल करके, यह पुष्टि करने का तरीका बताया गया है कि बियरर टोकन, Google Chat ने जारी किया था और यह आपके ऐप्लिकेशन के लिए था.
Java
Python
Node.js
प्रोजेक्ट नंबर JWT की मदद से अनुरोधों की पुष्टि करना
अगर Chat ऐप्लिकेशन की कनेक्शन सेटिंग के 'पुष्टि करने वाले ऑडियंस' फ़ील्ड को Project
Number पर सेट किया जाता है, तो अनुरोध में मौजूद बियरर ऑथराइज़ेशन टोकन, खुद से साइन किया गया
JSON Web Token (JWT),
होता है. इसे chat@system.gserviceaccount.com ने जारी और साइन किया होता है.
audience फ़ील्ड को उस Google Cloud प्रोजेक्ट नंबर पर सेट किया जाता है जिसका इस्तेमाल आपने अपना Chat ऐप्लिकेशन बनाने के लिए किया था. उदाहरण के लिए, अगर आपके Chat ऐप्लिकेशन का Cloud प्रोजेक्ट नंबर 1234567890 है, तो JWT में audience फ़ील्ड, 1234567890 होगा.
पुष्टि करने का यह तरीका सिर्फ़ तब इस्तेमाल करने का सुझाव दिया जाता है, जब आपको एचटीटीपी एंडपॉइंट यूआरएल के बजाय, अनुरोधों की पुष्टि करने के लिए Cloud प्रोजेक्ट नंबर का इस्तेमाल करना हो. उदाहरण के लिए, अगर आपको समय के साथ एंडपॉइंट यूआरएल बदलना है, लेकिन Cloud प्रोजेक्ट नंबर वही रखना है. इसके अलावा, अगर आपको एक ही एंडपॉइंट का इस्तेमाल, कई Cloud प्रोजेक्ट नंबर के लिए करना है और audience फ़ील्ड की तुलना, Cloud प्रोजेक्ट नंबर की सूची से करनी है.
यहां दिए गए सैंपल में, Google OAuth क्लाइंट लाइब्रेरी का इस्तेमाल करके, यह पुष्टि करने का तरीका बताया गया है कि बियरर टोकन, Google Chat ने जारी किया था और यह आपके प्रोजेक्ट के लिए था.
Java
Python
Node.js
मिलते-जुलते विषय
- Google Workspace में पुष्टि करने और अनुमति देने की प्रोसेस की खास जानकारी के लिए, देखें पुष्टि करने और अनुमति देने की प्रोसेस के बारे में जानकारी.
- Chat में पुष्टि करने और अनुमति देने की प्रोसेस की खास जानकारी के लिए, देखें पुष्टि करने की प्रोसेस की खास जानकारी.
- उपयोगकर्ता के क्रेडेंशियल या सेवा खातेकी मदद से, पुष्टि करने और अनुमति देने की प्रोसेस सेट अप करना.