এইচটিটিপি এন্ডপয়েন্টে তৈরি Google চ্যাট অ্যাপগুলির জন্য, এই বিভাগটি ব্যাখ্যা করে যে কীভাবে আপনার এন্ডপয়েন্টের অনুরোধগুলি চ্যাট থেকে এসেছে তা যাচাই করতে হয়।
আপনার চ্যাট অ্যাপের এন্ডপয়েন্টে ইন্টারঅ্যাকশন ইভেন্টগুলি পাঠানোর জন্য, Google আপনার পরিষেবাতে অনুরোধ করে। অনুরোধটি Google থেকে আসছে কিনা তা যাচাই করতে, চ্যাট আপনার এন্ডপয়েন্টে প্রতিটি HTTPS অনুরোধের Authorization
শিরোনামে একটি বহনকারী টোকেন অন্তর্ভুক্ত করে। যেমন:
POST Host: yourappurl.com Authorization: Bearer AbCdEf123456 Content-Type: application/json User-Agent: Google-Dynamite
পূর্ববর্তী উদাহরণে স্ট্রিং AbCdEf123456
হল বহনকারী অনুমোদন টোকেন। এটি Google দ্বারা উত্পাদিত একটি ক্রিপ্টোগ্রাফিক টোকেন। বাহক টোকেনের ধরন এবং audience
ক্ষেত্রের মান চ্যাট অ্যাপ কনফিগার করার সময় আপনি যে ধরনের প্রমাণীকরণ শ্রোতা নির্বাচন করেছেন তার উপর নির্ভর করে।
আপনি যদি ক্লাউড ফাংশন বা ক্লাউড রান ব্যবহার করে আপনার চ্যাট অ্যাপ প্রয়োগ করে থাকেন, তাহলে ক্লাউড আইএএম স্বয়ংক্রিয়ভাবে টোকেন যাচাইকরণ পরিচালনা করে। আপনাকে শুধুমাত্র Google Chat পরিষেবা অ্যাকাউন্টটি একটি অনুমোদিত আমন্ত্রণকারী হিসেবে যোগ করতে হবে। যদি আপনার অ্যাপটি তার নিজস্ব HTTP সার্ভার প্রয়োগ করে, আপনি একটি ওপেন সোর্স Google API ক্লায়েন্ট লাইব্রেরি ব্যবহার করে আপনার বহনকারী টোকেন যাচাই করতে পারেন:
- জাভা : https://github.com/google/google-api-java-client
- পাইথন : 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
যদি টোকেনটি চ্যাট অ্যাপের জন্য যাচাই না করে, তাহলে আপনার পরিষেবাকে HTTPS প্রতিক্রিয়া কোড 401 (Unauthorized)
দিয়ে অনুরোধের জবাব দেওয়া উচিত।
ক্লাউড ফাংশন বা ক্লাউড রান ব্যবহার করে অনুরোধগুলি প্রমাণীকরণ করুন
ক্লাউড ফাংশন বা ক্লাউড রান ব্যবহার করে আপনার ফাংশন লজিক প্রয়োগ করা হলে, আপনাকে চ্যাট অ্যাপ সংযোগ সেটিং- এর প্রমাণীকরণ শ্রোতা ক্ষেত্রে HTTP এন্ডপয়েন্ট ইউআরএল নির্বাচন করতে হবে এবং কনফিগারেশনে HTTP এন্ডপয়েন্ট ইউআরএলটি ক্লাউড ফাংশন বা ক্লাউড রান এন্ডপয়েন্টের ইউআরএলের সাথে মিল আছে কিনা তা নিশ্চিত করতে হবে।
তারপরে, আপনাকে Google চ্যাট পরিষেবা অ্যাকাউন্ট [email protected]
একটি আমন্ত্রণকারী হিসাবে অনুমোদন করতে হবে৷
নিম্নলিখিত ধাপগুলি দেখায় কিভাবে ক্লাউড ফাংশন ব্যবহার করতে হয় (1ম প্রজন্ম):
কনসোল
Google ক্লাউডে আপনার ফাংশন স্থাপন করার পরে:
Google ক্লাউড কনসোলে, ক্লাউড ফাংশন পৃষ্ঠাতে যান:
ক্লাউড ফাংশন তালিকায়, রিসিভিং ফাংশনের পাশের চেকবক্সে ক্লিক করুন। (ফাংশন নিজেই ক্লিক করবেন না।)
স্ক্রিনের শীর্ষে অনুমতিতে ক্লিক করুন। অনুমতি প্যানেল খোলে।
অ্যাড প্রিন্সিপাল ক্লিক করুন।
নতুন প্রিন্সিপাল ফিল্ডে,
[email protected]
লিখুন।একটি ভূমিকা নির্বাচন করুন ড্রপ-ডাউন মেনু থেকে ক্লাউড ফাংশন > ক্লাউড ফাংশন ইনভোকার নির্বাচন করুন।
Save এ ক্লিক করুন।
জিক্লাউড
gcloud functions add-iam-policy-binding
কমান্ড ব্যবহার করুন:
gcloud functions add-iam-policy-binding RECEIVING_FUNCTION \ --member='serviceAccount:[email protected]' \ --role='roles/cloudfunctions.invoker'
আপনার চ্যাট অ্যাপের ফাংশনের নাম দিয়ে RECEIVING_FUNCTION
প্রতিস্থাপন করুন।
নিম্নলিখিত ধাপগুলি দেখায় কিভাবে ক্লাউড ফাংশন (2য় প্রজন্ম) বা ক্লাউড রান পরিষেবাগুলি ব্যবহার করতে হয়:
কনসোল
Google ক্লাউডে আপনার ফাংশন বা পরিষেবা স্থাপন করার পরে:
Google ক্লাউড কনসোলে, ক্লাউড রান পৃষ্ঠায় যান:
ক্লাউড রান পরিষেবা তালিকায়, প্রাপ্তি ফাংশনের পাশের চেকবক্সে ক্লিক করুন। (ফাংশন নিজেই ক্লিক করবেন না।)
স্ক্রিনের শীর্ষে অনুমতিতে ক্লিক করুন। অনুমতি প্যানেল খোলে।
অ্যাড প্রিন্সিপাল ক্লিক করুন।
নতুন প্রিন্সিপাল ফিল্ডে,
[email protected]
লিখুন।ভূমিকা নির্বাচন করুন ড্রপ-ডাউন মেনু থেকে ক্লাউড রান > ক্লাউড রান ইনভোকার নির্বাচন করুন ।
Save এ ক্লিক করুন।
জিক্লাউড
gcloud functions add-invoker-policy-binding
কমান্ড ব্যবহার করুন:
gcloud functions add-invoker-policy-binding RECEIVING_FUNCTION \ --member='serviceAccount:[email protected]'
আপনার চ্যাট অ্যাপের ফাংশনের নাম দিয়ে RECEIVING_FUNCTION
প্রতিস্থাপন করুন।
একটি আইডি টোকেন সহ HTTP অনুরোধগুলি প্রমাণীকরণ করুন৷
চ্যাট অ্যাপ সংযোগ সেটিং- এর প্রমাণীকরণ শ্রোতা ক্ষেত্রটি HTTP এন্ডপয়েন্ট URL- এ সেট করা থাকলে, অনুরোধে বহনকারী অনুমোদনের টোকেনটি একটি Google-স্বাক্ষরিত OpenID Connect (OIDC) ID টোকেন । email
ক্ষেত্রটি [email protected]
এ সেট করা আছে। আপনার চ্যাট অ্যাপে অনুরোধ পাঠানোর জন্য আপনি Google Chat কনফিগার করেছেন এমন URL-এ প্রমাণীকরণ শ্রোতা ক্ষেত্র সেট করা আছে। উদাহরণস্বরূপ, যদি আপনার চ্যাট অ্যাপের কনফিগার করা এন্ডপয়েন্টটি https://example.com/app/
হয়, তাহলে আইডি টোকেনে প্রমাণীকরণ শ্রোতা ক্ষেত্রটি হল https://example.com/app/
।
আইএএম-ভিত্তিক প্রমাণীকরণ (যেমন ক্লাউড ফাংশন বা ক্লাউড রান) সমর্থন করে এমন কোনও পরিষেবাতে আপনার HTTP এন্ডপয়েন্ট হোস্ট করা না থাকলে এটি প্রস্তাবিত প্রমাণীকরণ পদ্ধতি। এই পদ্ধতি ব্যবহার করে, আপনার HTTP পরিষেবার শেষ পয়েন্টের URL সম্পর্কে তথ্যের প্রয়োজন যেখানে এটি চলছে, কিন্তু ক্লাউড প্রকল্প নম্বর সম্পর্কে তথ্যের প্রয়োজন নেই৷
নিম্নলিখিত নমুনাগুলি দেখায় যে কীভাবে যাচাই করা যায় যে বাহক টোকেনটি Google Chat দ্বারা জারি করা হয়েছে এবং Google OAuth ক্লায়েন্ট লাইব্রেরি ব্যবহার করে আপনার অ্যাপে লক্ষ্য করা হয়েছে৷
জাভা
পাইথন
Node.js
একটি প্রকল্প নম্বর JWT দিয়ে অনুরোধগুলি প্রমাণীকরণ করুন
যদি চ্যাট অ্যাপ সংযোগ সেটিংসের প্রমাণীকরণ শ্রোতা ক্ষেত্রটি Project Number
সেট করা থাকে, তাহলে অনুরোধে বহনকারী অনুমোদনের টোকেনটি একটি স্ব-স্বাক্ষরিত JSON ওয়েব টোকেন (JWT) , যা [email protected]
দ্বারা জারি এবং স্বাক্ষরিত। audience
ক্ষেত্রটি Google ক্লাউড প্রজেক্ট নম্বরে সেট করা আছে যেটি আপনি আপনার চ্যাট অ্যাপ তৈরি করতে ব্যবহার করেছেন। উদাহরণস্বরূপ, যদি আপনার চ্যাট অ্যাপের ক্লাউড প্রজেক্ট নম্বর হয় 1234567890
, তাহলে JWT-এর audience
ক্ষেত্র হল 1234567890
।
আপনি HTTP এন্ডপয়েন্ট URL এর পরিবর্তে অনুরোধগুলি যাচাই করতে ক্লাউড প্রকল্প নম্বর ব্যবহার করতে পছন্দ করলেই এই প্রমাণীকরণ পদ্ধতিটি সুপারিশ করা হয়। উদাহরণস্বরূপ, যদি আপনি একই ক্লাউড প্রজেক্ট নম্বর রাখার সময় সময়ের সাথে সাথে এন্ডপয়েন্ট URL পরিবর্তন করতে চান, অথবা যদি আপনি একাধিক ক্লাউড প্রজেক্ট নম্বরের জন্য একই এন্ডপয়েন্ট ব্যবহার করতে চান এবং ক্লাউড প্রজেক্ট নম্বরের তালিকার সাথে audience
ক্ষেত্রটির তুলনা করতে চান।
নিম্নলিখিত নমুনাগুলি দেখায় যে কীভাবে যাচাই করা যায় যে বাহক টোকেনটি Google Chat দ্বারা জারি করা হয়েছে এবং Google OAuth ক্লায়েন্ট লাইব্রেরি ব্যবহার করে আপনার প্রকল্পে লক্ষ্য করা হয়েছে৷
জাভা
পাইথন
Node.js
সম্পর্কিত বিষয়
- Google Workspace-এ প্রমাণীকরণ এবং অনুমোদনের ওভারভিউ দেখতে, প্রমাণীকরণ এবং অনুমোদন সম্পর্কে জানুন দেখুন।
- চ্যাটে প্রমাণীকরণ এবং অনুমোদনের একটি সংক্ষিপ্ত বিবরণের জন্য, প্রমাণীকরণ ওভারভিউ দেখুন।
- ব্যবহারকারীর শংসাপত্র বা একটি পরিষেবা অ্যাকাউন্টের সাথে প্রমাণীকরণ এবং অনুমোদন সেট আপ করুন৷