HTTP এন্ডপয়েন্টের উপর তৈরি Google Chat অ্যাপের জন্য, এই বিভাগটি ব্যাখ্যা করে যে কীভাবে আপনার এন্ডপয়েন্টের অনুরোধগুলি Chat থেকে এসেছে তা যাচাই করবেন।
আপনার চ্যাট অ্যাপের এন্ডপয়েন্টে ইন্টারঅ্যাকশন ইভেন্ট পাঠানোর জন্য, Google আপনার পরিষেবাতে অনুরোধ করে। অনুরোধটি Google থেকে আসছে কিনা তা যাচাই করার জন্য, Chat আপনার এন্ডপয়েন্টে প্রতিটি HTTPS অনুরোধের Authorization হেডারে একটি bearer টোকেন অন্তর্ভুক্ত করে। উদাহরণস্বরূপ:
POST
Host: yourappurl.com
Authorization: Bearer AbCdEf123456
Content-Type: application/json
User-Agent: Google-Dynamite
পূর্ববর্তী উদাহরণে AbCdEf123456 স্ট্রিংটি হল bearer authorization token। এটি Google দ্বারা তৈরি একটি ক্রিপ্টোগ্রাফিক টোকেন। bearer টোকেনের ধরণ এবং audience ফিল্ডের মান Chat অ্যাপ কনফিগার করার সময় আপনি যে ধরণের প্রমাণীকরণ audience token নির্বাচন করেছেন তার উপর নির্ভর করে।
যদি আপনি আপনার চ্যাট অ্যাপটি ক্লাউড রান ফাংশন ব্যবহার করে বাস্তবায়ন করে থাকেন, তাহলে ক্লাউড আইএএম স্বয়ংক্রিয়ভাবে টোকেন যাচাইকরণ পরিচালনা করে। আপনাকে অবশ্যই গুগল চ্যাট পরিষেবা অ্যাকাউন্টটি একটি অনুমোদিত ইনভোকার হিসেবে যুক্ত করতে হবে। যদি আপনার অ্যাপটি নিজস্ব HTTP সার্ভার বাস্তবায়ন করে, তাহলে আপনি একটি ওপেন সোর্স গুগল এপিআই ক্লায়েন্ট লাইব্রেরি ব্যবহার করে আপনার বেয়ারার টোকেন যাচাই করতে পারেন:
- জাভা : https://github.com/google/google-api-java-client
- পাইথন : https://github.com/google/google-api-python-client
- নোড.জেএস : https://github.com/google/google-api-nodejs-client
- .NET : https://github.com/google/google-api-dotnet-client
যদি টোকেনটি চ্যাট অ্যাপের জন্য যাচাই না করে, তাহলে আপনার পরিষেবাটি HTTPS রেসপন্স কোড 401 (Unauthorized) দিয়ে অনুরোধের জবাব দেবে।
ক্লাউড রান ফাংশন ব্যবহার করে অনুরোধগুলি প্রমাণীকরণ করুন
যদি আপনার ফাংশন লজিক ক্লাউড রান ফাংশন ব্যবহার করে বাস্তবায়িত হয়, তাহলে আপনাকে চ্যাট অ্যাপ সংযোগ সেটিংয়ের প্রমাণীকরণ শ্রোতা ক্ষেত্রে HTTP এন্ডপয়েন্ট URL নির্বাচন করতে হবে এবং নিশ্চিত করতে হবে যে কনফিগারেশনে HTTP এন্ডপয়েন্ট URLটি ক্লাউড রান ফাংশন এন্ডপয়েন্টের URL এর সাথে মিলে যায়।
তারপর, আপনাকে নিম্নলিখিত পদক্ষেপগুলি ব্যবহার করে Google Chat পরিষেবা অ্যাকাউন্ট chat@system.gserviceaccount.com কে একটি ইনভোকার হিসেবে অনুমোদন করতে হবে:
কনসোল
গুগল ক্লাউডে আপনার ফাংশন বা পরিষেবা স্থাপনের পরে:
গুগল ক্লাউড কনসোলে, ক্লাউড রান পৃষ্ঠায় যান:
ক্লাউড রান সার্ভিসেস তালিকায়, রিসিভিং ফাংশনের পাশে থাকা চেকবক্সে ক্লিক করুন। (ফাংশনটিতেই ক্লিক করবেন না।)
স্ক্রিনের উপরে Permissions-এ ক্লিক করুন। Permissions প্যানেলটি খোলে।
প্রধান যোগ করুন ক্লিক করুন।
নতুন প্রিন্সিপালস ক্ষেত্রে,
chat@system.gserviceaccount.comলিখুন।"একটি ভূমিকা নির্বাচন করুন" মেনু থেকে, "ক্লাউড রান" ভূমিকাটি নির্বাচন করুন।
ক্লাউড রান ইনভোকার ।
সংরক্ষণ করুন ক্লিক করুন।
জিক্লাউড
gcloud functions add-invoker-policy-binding কমান্ডটি ব্যবহার করুন:
gcloud functions add-invoker-policy-binding RECEIVING_FUNCTION \
--member='serviceAccount:chat@system.gserviceaccount.com' আপনার চ্যাট অ্যাপের ফাংশনের নাম দিয়ে RECEIVING_FUNCTION প্রতিস্থাপন করুন।
একটি আইডি টোকেন ব্যবহার করে HTTP অনুরোধগুলি প্রমাণীকরণ করুন
যদি চ্যাট অ্যাপ সংযোগ সেটিংয়ের প্রমাণীকরণ শ্রোতা ক্ষেত্রটি HTTP এন্ডপয়েন্ট URL এ সেট করা থাকে, তাহলে অনুরোধে থাকা বহনকারী অনুমোদন টোকেনটি একটি Google-স্বাক্ষরিত OpenID Connect (OIDC) আইডি টোকেন হবে। email ক্ষেত্রটি chat@system.gserviceaccount.com এ সেট করা আছে। প্রমাণীকরণ শ্রোতা ক্ষেত্রটি আপনার চ্যাট অ্যাপে অনুরোধ পাঠানোর জন্য Google Chat কনফিগার করা URL এ সেট করা আছে। উদাহরণস্বরূপ, যদি আপনার চ্যাট অ্যাপের কনফিগার করা শেষ বিন্দু https://example.com/app/ হয়, তাহলে আইডি টোকেনে প্রমাণীকরণ শ্রোতা ক্ষেত্রটি https://example.com/app/ হবে।
যদি আপনার HTTP এন্ডপয়েন্ট IAM-ভিত্তিক প্রমাণীকরণ সমর্থন করে এমন কোনও পরিষেবাতে (যেমন ক্লাউড রান) হোস্ট না করা হয়, তাহলে এটি প্রস্তাবিত প্রমাণীকরণ পদ্ধতি। এই পদ্ধতি ব্যবহার করে, আপনার HTTP পরিষেবাটি যেখানে চলছে সেই এন্ডপয়েন্টের URL সম্পর্কে তথ্যের প্রয়োজন, কিন্তু ক্লাউড প্রকল্প নম্বর সম্পর্কে তথ্যের প্রয়োজন নেই।
নিম্নলিখিত নমুনাগুলি দেখায় যে কীভাবে বেয়ারার টোকেনটি Google Chat দ্বারা জারি করা হয়েছে এবং Google OAuth ক্লায়েন্ট লাইব্রেরি ব্যবহার করে আপনার অ্যাপকে লক্ষ্য করে তৈরি করা হয়েছে তা যাচাই করবেন।
জাভা
পাইথন
নোড.জেএস
একটি প্রকল্প নম্বর JWT ব্যবহার করে অনুরোধগুলি প্রমাণীকরণ করুন
যদি চ্যাট অ্যাপ সংযোগ সেটিং এর Authentication Audience ক্ষেত্রটি Project Number এ সেট করা থাকে, তাহলে অনুরোধে থাকা bearer authorization টোকেনটি একটি স্ব-স্বাক্ষরিত JSON Web Token (JWT) হবে, যা chat@system.gserviceaccount.com দ্বারা জারি এবং স্বাক্ষরিত হবে। audience ক্ষেত্রটি আপনার চ্যাট অ্যাপ তৈরি করার জন্য ব্যবহৃত Google Cloud Project নম্বরে সেট করা আছে। উদাহরণস্বরূপ, যদি আপনার Chat অ্যাপের Cloud Project নম্বর 1234567890 হয়, তাহলে JWT এর audience ক্ষেত্রটি 1234567890 হবে।
এই প্রমাণীকরণ পদ্ধতিটি শুধুমাত্র তখনই সুপারিশ করা হয় যখন আপনি HTTP এন্ডপয়েন্ট URL এর পরিবর্তে ক্লাউড প্রজেক্ট নম্বর ব্যবহার করে অনুরোধ যাচাই করতে চান। উদাহরণস্বরূপ, যদি আপনি একই ক্লাউড প্রজেক্ট নম্বর রেখে সময়ের সাথে সাথে এন্ডপয়েন্ট URL পরিবর্তন করতে চান, অথবা যদি আপনি একাধিক ক্লাউড প্রজেক্ট নম্বরের জন্য একই এন্ডপয়েন্ট ব্যবহার করতে চান এবং ক্লাউড প্রজেক্ট নম্বরের তালিকার সাথে audience ক্ষেত্র তুলনা করতে চান।
নিম্নলিখিত নমুনাগুলি দেখায় যে কীভাবে বেয়ারার টোকেনটি Google Chat দ্বারা জারি করা হয়েছে এবং Google OAuth ক্লায়েন্ট লাইব্রেরি ব্যবহার করে আপনার প্রকল্পের লক্ষ্যবস্তুতে তৈরি করা হয়েছে তা যাচাই করবেন।
জাভা
পাইথন
নোড.জেএস
সম্পর্কিত বিষয়
- Google Workspace-এ প্রমাণীকরণ এবং অনুমোদনের একটি সারসংক্ষেপের জন্য, প্রমাণীকরণ এবং অনুমোদন সম্পর্কে জানুন দেখুন।
- চ্যাটে প্রমাণীকরণ এবং অনুমোদনের একটি সারসংক্ষেপের জন্য, প্রমাণীকরণের সারসংক্ষেপ দেখুন।
- ব্যবহারকারীর শংসাপত্র বা পরিষেবা অ্যাকাউন্ট দিয়ে প্রমাণীকরণ এবং অনুমোদন সেট আপ করুন।