Google সাইন-ইন ধারণা নির্দেশিকা

অ্যাসিস্ট্যান্টের জন্য Google সাইন-ইন (GSI) ব্যবহারকারীদের জন্য সবচেয়ে নিরবচ্ছিন্ন লিঙ্কিং অভিজ্ঞতা প্রদান করে এবং এটি বিকাশকারীদের বাস্তবায়নের জন্য সবচেয়ে সহজ প্রবাহ। GSI-এর সাহায্যে, আপনার অ্যাকশন কথোপকথনের সময় আপনার ব্যবহারকারীর Google প্রোফাইল অ্যাক্সেসের অনুরোধ করতে পারে এবং ব্যবহারকারী সম্মতি দিলে ব্যবহারকারীর নাম, ইমেল ঠিকানা এবং প্রোফাইল ছবি পাবেন। আপনার অ্যাকশন তারপর ব্যবহারকারীর আপনার সিস্টেমে একটি Google অ্যাকাউন্ট আছে কিনা তা পরীক্ষা করতে এই তথ্য ব্যবহার করতে পারে। যদি না হয়, আপনার অ্যাকশন ব্যবহারকারীকে জিজ্ঞাসা করে যে তারা তাদের Google প্রোফাইল তথ্যের উপর ভিত্তি করে আপনার সিস্টেমে একটি নতুন অ্যাকাউন্ট তৈরি করতে চায় কিনা।

নিচের যে কোনো একটি প্রযোজ্য হলে GSI হল প্রস্তাবিত অ্যাকাউন্ট লিঙ্কিং সমাধান:

  • আপনার কাছে একটি বিদ্যমান প্রমাণীকরণ সিস্টেম নেই এবং/অথবা আপনি আশা করেন যে আপনার সমস্ত ব্যবহারকারীর একটি Google অ্যাকাউন্ট থাকবে৷ উদাহরণস্বরূপ, যদি আপনার অ্যাকশন বিশেষভাবে অ্যাসিস্ট্যান্টকে টার্গেট করে, আপনি আশা করতে পারেন আপনার সমস্ত ব্যবহারকারীর কাছে Google অ্যাকাউন্ট থাকবে।
  • আপনার একটি বিদ্যমান প্রমাণীকরণ সিস্টেম আছে এবং শুধুমাত্র ব্যবহারকারীদের লিঙ্ক করতে চান যারা তাদের Google অ্যাকাউন্ট ব্যবহার করে আপনার সিস্টেমে সাইন ইন করেছেন।

জিএসআই আপনার জন্য সঠিক সমাধান কিনা তা যাচাই করতে, আপনার অ্যাকাউন্ট লিঙ্কিং টাইপ চয়ন করুন পৃষ্ঠাটি দেখুন।

মূল শর্তাবলী

GSI কীভাবে কাজ করে সে সম্পর্কে পড়ার আগে, নিম্নলিখিত পদগুলির সাথে নিজেকে পরিচিত করুন:

  • Google ID টোকেন: ব্যবহারকারীর পরিচয়ের একটি স্বাক্ষরিত দাবী যাতে ব্যবহারকারীর মৌলিক Google প্রোফাইল তথ্য (তাদের নাম, ইমেল ঠিকানা এবং প্রোফাইল ছবি) থাকে। একটি Google আইডি টোকেন হল একটি JSON ওয়েব টোকেন (JWT)।

    নিম্নলিখিত একটি ডিকোডেড টোকেনের একটি উদাহরণ:

{
  "sub": 1234567890,        // The unique ID of the user's Google Account
  "iss": "https://accounts.google.com",        // The token's issuer
  "aud": "123-abc.apps.googleusercontent.com", // Client ID assigned to your Actions project
  "iat": 233366400,         // Unix timestamp of the token's creation time
  "exp": 233370000,         // Unix timestamp of the token's expiration time
  "name": "Jan Jansen",
  "given_name": "Jan",
  "family_name": "Jansen",
  "email": "jan@gmail.com", // If present, the user's email address
  "locale": "en_US"
}
  • user.verificationStatus : বর্তমান সেশনে একজন যাচাইকৃত ব্যবহারকারী আছে কিনা তা নির্দেশ করার জন্য সিস্টেম দ্বারা সেট করা একটি সম্পত্তি।

  • user.accountLinkingStatus : বর্তমান সেশনে ব্যবহারকারীর একটি লিঙ্কযুক্ত পরিচয় আছে কিনা তা নির্দেশ করার জন্য সিস্টেম দ্বারা সেট করা একটি সম্পত্তি।

  • অ্যাকাউন্ট লিঙ্কিং সিস্টেমের দৃশ্য: একটি পূর্বনির্ধারিত দৃশ্য যা অ্যাকাউন্ট লিঙ্ক করার জন্য নিশ্চিতকরণ প্রবাহকে প্রয়োগ করে এবং নির্দিষ্ট ব্যবহারের ক্ষেত্রে ফিট করার জন্য কাস্টমাইজ করা যেতে পারে।

কিভাবে এটা কাজ করে

GSI এর জন্য মৌলিক প্রবাহ নিম্নরূপ:

  1. আপনার অ্যাকশন ব্যবহারকারীর কাছে তাদের Google প্রোফাইল অ্যাক্সেস করার জন্য সম্মতি চায়।
  2. ব্যবহারকারী সম্মতি দেওয়ার পরে, আপনার অ্যাকশন একটি Google ID টোকেন পায় যাতে ব্যবহারকারীর Google প্রোফাইল তথ্য থাকে।
  3. প্রোফাইল বিষয়বস্তু পড়তে টোকেনটি যাচাই করুন এবং ডিকোড করুন। আপনি যদি Node.js-এর জন্য অ্যাকশন অন গুগল ফিলফিলমেন্ট লাইব্রেরি ব্যবহার করেন, তাহলে এটি আপনার জন্য টোকেনটিকে যাচাই করে এবং ডিকোড করে।
  4. ব্যবহারকারীর Google প্রোফাইল তথ্য আপনার সিস্টেমে বিদ্যমান কিনা তা পরীক্ষা করতে আপনার অ্যাকশন এই টোকেনটি ব্যবহার করে।

    1. যদি এটি হয়, ব্যবহারকারী ইতিমধ্যেই তাদের Google অ্যাকাউন্ট দিয়ে আপনার সিস্টেমে সাইন ইন করেছেন৷ ব্যবহারকারী তার Google অ্যাকাউন্টের সাথে তাদের পরিচয় লিঙ্ক করে সহকারীর সাথে কথোপকথন চালিয়ে যেতে পারেন।
    2. যদি তা না হয়, ব্যবহারকারী Google ID টোকেনে থাকা তথ্য দিয়ে আপনার সিস্টেমে একটি নতুন অ্যাকাউন্ট তৈরি করতে পারেন। ব্যবহারকারী তার নতুন অ্যাকাউন্ট লিঙ্ক করে সহকারীর সাথে কথোপকথন চালিয়ে যেতে পারেন।

Google সাইন-ইন প্রবাহ

এই বিভাগটি Google সাইন-ইন এর সাথে ঘটতে পারে এমন বিভিন্ন প্রবাহের বর্ণনা দেয়৷

ফ্লো 1: ব্যবহারকারীর তথ্য আপনার সিস্টেমে বিদ্যমান

নিম্নলিখিত চিত্রটি GSI এর সাথে শেষ থেকে শেষ প্রবাহ দেখায় যখন ব্যবহারকারীর তথ্য আপনার সিস্টেমে ইতিমধ্যেই বিদ্যমান থাকে:

এই ক্ষেত্রে, আপনি অ্যাকাউন্ট লিঙ্কিং সিস্টেম দৃশ্যে স্থানান্তর করুন এবং একটি কাস্টমাইজড যুক্তি প্রদান করুন। এই দৃশ্য ব্যবহারকারীর কাছে তাদের Google প্রোফাইল তথ্য অ্যাক্সেস করার অনুমতি চায়৷

ব্যবহারকারীর সম্মতির পরে, সহকারী একটি অনুরোধ পাঠায় যাতে user@gmail.com এর প্রোফাইল তথ্য থাকে। এই ক্ষেত্রে, user@gmail.com এর জন্য Google আইডি টোকেনে থাকা তথ্য আপনার সিস্টেমের একটি অ্যাকাউন্টের সাথে মেলে, তাই আপনার অ্যাকশনে ব্যবহারকারীর পরিচয় স্বয়ংক্রিয়ভাবে সেই অ্যাকাউন্টের সাথে লিঙ্ক হয়ে যায়। আপনার ওয়েবহুক তারপর একটি ডাটাবেস থেকে ব্যবহারকারীর স্বাভাবিক আদেশ পড়তে পারে এবং সেই অনুযায়ী প্রতিক্রিয়া জানাতে পারে।

ফ্লো 2: ব্যবহারকারীর তথ্য আপনার সিস্টেমে বিদ্যমান নেই

নিম্নলিখিত চিত্রটি GSI এর সাথে শেষ থেকে শেষ প্রবাহ দেখায় যখন ব্যবহারকারীর তথ্য আপনার সিস্টেমে বিদ্যমান থাকে না:

এই ক্ষেত্রে, user@gmail.com এর জন্য Google ID টোকেনে থাকা তথ্য আপনার সিস্টেমের একটি অ্যাকাউন্টের সাথে মেলে না, তাই সহকারী ব্যবহারকারীকে জিজ্ঞাসা করে যে তারা একটি নতুন অ্যাকাউন্ট তৈরি করতে চান কিনা। ব্যবহারকারী একটি স্ক্রীন করা ডিভাইসে স্থানান্তর করার পরিবর্তে ভয়েস দিয়ে অ্যাকাউন্ট তৈরির প্রক্রিয়াটি সম্পূর্ণ করতে পারে।

যখন ব্যবহারকারী একটি অ্যাকাউন্ট তৈরি করতে সম্মত হন, আপনার পরিষেবা ব্যবহারকারীর জন্য একটি অ্যাকাউন্ট তৈরি করতে আইডি টোকেনের (ব্যবহারকারীর নাম এবং ইমেল ঠিকানা) তথ্য ব্যবহার করে। অ্যাকাউন্ট তৈরি হয়ে গেলে, আপনার অ্যাকশনে ব্যবহারকারীর পরিচয় তাদের নতুন Google অ্যাকাউন্টের সাথে লিঙ্ক করা হয়।

এই ক্ষেত্রে, ব্যবহারকারীর একটি স্বাভাবিক অর্ডার নেই কারণ তারা পরিষেবাটিতে নতুন, তাই আপনার অ্যাকশন জিজ্ঞাসা করে যে তারা কী অর্ডার করতে চায়৷ আপনি ব্যবহারকারীকে জিজ্ঞাসা করতে পারেন যে তারা তাদের সাম্প্রতিক অর্ডারটি তাদের স্বাভাবিক অর্ডার হিসাবে সেট করতে চান কিনা।