ওভারভিউ

অ্যাকাউন্ট লিঙ্কিং গুগল অ্যাকাউন্টধারীদের আপনার পরিষেবাগুলির সাথে দ্রুত, নির্বিঘ্নে এবং নিরাপদে সংযোগ স্থাপন করতে সক্ষম করে। আপনি আপনার প্ল্যাটফর্ম থেকে গুগল অ্যাপস এবং পরিষেবাগুলির সাথে ব্যবহারকারীর ডেটা শেয়ার করার জন্য গুগল অ্যাকাউন্ট লিঙ্কিং ব্যবস্থাটি প্রয়োগ করতে পারেন।

নিরাপদ OAuth 2.0 প্রোটোকল আপনাকে আপনার প্ল্যাটফর্মে থাকা ব্যবহারকারীর অ্যাকাউন্টের সাথে তার গুগল অ্যাকাউন্ট নিরাপদে লিঙ্ক করার সুযোগ দেয়, যার ফলে গুগল অ্যাপ্লিকেশন এবং ডিভাইসগুলো আপনার পরিষেবাগুলো ব্যবহারের অনুমতি পায়।

ব্যবহারকারীরা তাদের অ্যাকাউন্ট লিঙ্ক বা আনলিঙ্ক করতে পারেন এবং গুগল অ্যাকাউন্ট লিঙ্কিং-এর মাধ্যমে আপনার প্ল্যাটফর্মে ঐচ্ছিকভাবে একটি নতুন অ্যাকাউন্টও তৈরি করতে পারেন।

ব্যবহারের ক্ষেত্র

গুগল অ্যাকাউন্ট লিঙ্কিং চালু করার কয়েকটি কারণ হলো:

  • আপনার প্ল্যাটফর্ম থেকে ব্যবহারকারীর ডেটা গুগল অ্যাপস ও পরিষেবাগুলোর সাথে শেয়ার করুন।

  • গুগল টিভি ব্যবহার করে আপনার ভিডিও ও সিনেমা চালান।

  • Google Home অ্যাপ এবং Google Assistant ব্যবহার করে Google Smart Home-এর সাথে সংযুক্ত ডিভাইসগুলি পরিচালনা ও নিয়ন্ত্রণ করুন, যেমন: "হে গুগল, লাইটগুলো জ্বালিয়ে দাও"।

  • কনভারসেশনাল অ্যাকশন- এর মাধ্যমে ব্যবহারকারী-কাস্টমাইজড গুগল অ্যাসিস্ট্যান্ট অভিজ্ঞতা ও কার্যকারিতা তৈরি করুন, যেমন: "হে গুগল, স্টারবাকস থেকে আমার নিয়মিত অর্ডারটা দাও"।

  • ব্যবহারকারীদের তাদের গুগল অ্যাকাউন্ট একটি রিওয়ার্ডস পার্টনার অ্যাকাউন্টের সাথে লিঙ্ক করার পর ইউটিউবে যোগ্য লাইভ স্ট্রিম দেখে পুরস্কার অর্জন করার সুযোগ দিন।

  • সাইন-আপ করার সময় গুগল অ্যাকাউন্ট প্রোফাইল থেকে সম্মতিসূচকভাবে শেয়ার করা ডেটা দিয়ে নতুন অ্যাকাউন্টগুলো আগে থেকেই পূরণ করুন।

সমর্থিত বৈশিষ্ট্য

গুগল অ্যাকাউন্ট লিঙ্কিং দ্বারা এই বৈশিষ্ট্যগুলি সমর্থিত:

  • OAuth লিঙ্কিং ইমপ্লিসিট ফ্লো ব্যবহার করে দ্রুত আপনার ডেটা শেয়ার করুন।

  • OAuth লিঙ্কিং অনুমোদন কোড প্রবাহের মাধ্যমে উন্নত নিরাপত্তা প্রদান করুন।

  • আপনার প্ল্যাটফর্মে বিদ্যমান ব্যবহারকারীদের সাইন-ইন করুন অথবা নতুন গুগল ভেরিফাইড ব্যবহারকারীদের সাইন-আপ করান, তাদের সম্মতি নিন এবং স্ট্রিমলাইনড লিঙ্কিং-এর মাধ্যমে নিরাপদে ডেটা শেয়ার করুন।

  • App Flip-এর মাধ্যমে ঝামেলা কমান। একটি বিশ্বস্ত Google অ্যাপ থেকে, এক ট্যাপেই নিরাপদে আপনার যাচাইকৃত Android বা iOS অ্যাপটি খুলুন এবং এক ট্যাপেই ব্যবহারকারীর সম্মতি দিন ও অ্যাকাউন্টগুলো লিঙ্ক করুন।

  • শুধুমাত্র প্রয়োজনীয় ডেটা শেয়ার করার জন্য কাস্টম স্কোপ নির্ধারণ করে ব্যবহারকারীর গোপনীয়তা উন্নত করুন, এবং তাদের ডেটা কীভাবে ব্যবহার করা হবে তা স্পষ্টভাবে সংজ্ঞায়িত করে ব্যবহারকারীর আস্থা বৃদ্ধি করুন।

  • অ্যাকাউন্ট আনলিঙ্ক করার মাধ্যমে আপনার প্ল্যাটফর্মে হোস্ট করা ডেটা এবং পরিষেবাগুলিতে অ্যাক্সেস প্রত্যাহার করা যেতে পারে। একটি ঐচ্ছিক টোকেন প্রত্যাহার এন্ডপয়েন্ট প্রয়োগ করলে আপনি গুগল দ্বারা শুরু করা ইভেন্টগুলির সাথে সিঙ্ক থাকতে পারবেন, অন্যদিকে ক্রস-অ্যাকাউন্ট প্রোটেকশন (RISC) আপনাকে আপনার প্ল্যাটফর্মে সংঘটিত যেকোনো আনলিঙ্কিং ইভেন্ট সম্পর্কে গুগলকে অবহিত করতে দেয়।

অ্যাকাউন্ট লিঙ্কিং প্রবাহ

গুগল অ্যাকাউন্ট লিঙ্ক করার ৩টি প্রক্রিয়া রয়েছে, যেগুলোর সবগুলোই OAuth ভিত্তিক এবং এগুলোর জন্য আপনাকে OAuth 2.0 অনুবর্তী অনুমোদন ও টোকেন বিনিময় এন্ডপয়েন্টগুলো পরিচালনা বা নিয়ন্ত্রণ করতে হবে।

লিঙ্ক করার প্রক্রিয়ার সময়, অ্যাকাউন্টধারীদের অ্যাকাউন্ট লিঙ্ক করতে ও ডেটা শেয়ার করার সম্মতি নেওয়ার পর, আপনি প্রতিটি গুগল অ্যাকাউন্টের জন্য গুগলকে অ্যাক্সেস টোকেন প্রদান করেন।

OAuth লিঙ্কিং ('ওয়েব OAuth')

এটিই হলো মৌলিক OAuth প্রক্রিয়া , যা ব্যবহারকারীদের লিঙ্কিংয়ের জন্য আপনার ওয়েবসাইটে পাঠায়। ব্যবহারকারীকে তার অ্যাকাউন্টে সাইন ইন করার জন্য আপনার ওয়েবসাইটে পুনঃনির্দেশিত করা হয়। একবার সাইন ইন করার পর, ব্যবহারকারী আপনার পরিষেবাতে থাকা তার ডেটা গুগলের সাথে শেয়ার করতে সম্মতি দেন। সেই মুহূর্তে, ব্যবহারকারীর গুগল অ্যাকাউন্ট এবং আপনার পরিষেবাটি লিঙ্ক হয়ে যায়।

OAuth লিঙ্কিং অথরাইজেশন কোড এবং ইমপ্লিসিট OAuth ফ্লো সমর্থন করে। ইমপ্লিসিট ফ্লো-এর জন্য আপনার সার্ভিসকে অবশ্যই একটি OAuth 2.0 অনুবর্তী অথরাইজেশন এন্ডপয়েন্ট হোস্ট করতে হবে, এবং অথরাইজেশন কোড ফ্লো ব্যবহার করার সময় অবশ্যই একটি অথরাইজেশন ও একটি টোকেন এক্সচেঞ্জ এন্ডপয়েন্ট উভয়ই প্রকাশ করতে হবে।

চিত্র ১। ওয়েব ওঅথ (Web OAuth) ব্যবহার করে ব্যবহারকারীর ফোনে অ্যাকাউন্ট লিঙ্ক করা।

OAuth-ভিত্তিক অ্যাপ ফ্লিপ লিঙ্কিং ('অ্যাপ ফ্লিপ')

একটি OAuth ফ্লো যা ব্যবহারকারীদের লিঙ্ক করার জন্য আপনার অ্যাপে পাঠায়।

OAuth-ভিত্তিক অ্যাপ ফ্লিপ লিঙ্কিং ব্যবহারকারীদের আপনার যাচাইকৃত অ্যান্ড্রয়েড বা আইওএস মোবাইল অ্যাপ এবং গুগলের প্ল্যাটফর্মের মধ্যে যাতায়াতের সময় প্রস্তাবিত ডেটা অ্যাক্সেস পরিবর্তনগুলো পর্যালোচনা করতে এবং আপনার প্ল্যাটফর্মে থাকা তাদের অ্যাকাউন্টটি গুগল অ্যাকাউন্টের সাথে লিঙ্ক করার জন্য সম্মতি প্রদানে সহায়তা করে। অ্যাপ ফ্লিপ সক্ষম করতে হলে, আপনার পরিষেবাটিকে অবশ্যই অথরাইজেশন কোড ফ্লো ব্যবহার করে OAuth লিঙ্কিং অথবা OAuth-ভিত্তিক 'সাইন ইন উইথ গুগল' লিঙ্কিং সমর্থন করতে হবে।

অ্যাপ ফ্লিপ অ্যান্ড্রয়েড এবং আইওএস উভয় প্ল্যাটফর্মেই সমর্থিত।

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

গুগল অ্যাপ ব্যবহারকারীর ডিভাইসে আপনার অ্যাপটি ইনস্টল করা আছে কিনা তা যাচাই করে:

  • অ্যাপটি খুঁজে পাওয়া গেলে, ব্যবহারকারীকে আপনার অ্যাপে পাঠিয়ে দেওয়া হয়। আপনার অ্যাপটি গুগলের সাথে অ্যাকাউন্টটি লিঙ্ক করার জন্য ব্যবহারকারীর কাছ থেকে সম্মতি সংগ্রহ করে এবং তারপর তাকে আবার গুগলের মূল পৃষ্ঠায় ফিরিয়ে দেয়।
  • অ্যাপটি খুঁজে না পাওয়া গেলে অথবা অ্যাপ ফ্লিপ লিঙ্কিং প্রক্রিয়ার সময় কোনো ত্রুটি ঘটলে, ব্যবহারকারীকে স্ট্রিমলাইনড বা ওয়েব ওঅথ ফ্লো-তে পুনঃনির্দেশিত করা হয়।

চিত্র ২। ব্যবহারকারীর ফোনে অ্যাপ ফ্লিপ দিয়ে অ্যাকাউন্ট লিঙ্ক করা।

OAuth-ভিত্তিক সরলীকৃত লিঙ্কিং ('সরলীকৃত')

OAuth-ভিত্তিক সাইন ইন উইথ গুগল স্ট্রিমলাইনড লিঙ্কিং, OAuth লিঙ্কিং-এর উপরে সাইন ইন উইথ গুগল যুক্ত করে, যা ব্যবহারকারীদের গুগল প্ল্যাটফর্ম থেকে বের না হয়েই লিঙ্কিং প্রক্রিয়াটি সম্পন্ন করতে সক্ষম করে, ফলে জটিলতা এবং ব্যবহারকারী কমে যাওয়ার হার হ্রাস পায়। OAuth-ভিত্তিক স্ট্রিমলাইনড লিঙ্কিং, সাইন ইন উইথ গুগল-কে OAuth লিঙ্কিং-এর সাথে একত্রিত করে নির্বিঘ্ন সাইন-ইন, অ্যাকাউন্ট তৈরি এবং অ্যাকাউন্ট লিঙ্কিং-এর মাধ্যমে সেরা ব্যবহারকারীর অভিজ্ঞতা প্রদান করে। আপনার পরিষেবাটিকে অবশ্যই OAuth 2.0 অনুবর্তী অনুমোদন এবং টোকেন বিনিময় এন্ডপয়েন্ট সমর্থন করতে হবে। এছাড়াও, আপনার টোকেন বিনিময় এন্ডপয়েন্টকে অবশ্যই JSON ওয়েব টোকেন (JWT) অ্যাসারশন সমর্থন করতে হবে এবং check , create , ও get ইন্টেন্টগুলো প্রয়োগ করতে হবে।

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

গুগল ব্যবহারকারীর অ্যাকাউন্টটি যাচাই করে এবং এই তথ্য আপনাকে জানায়:

  • আপনার ডাটাবেসে ব্যবহারকারীর একটি অ্যাকাউন্ট থাকলে, ব্যবহারকারী সফলভাবে তাদের গুগল অ্যাকাউন্টটি আপনার পরিষেবাতে থাকা অ্যাকাউন্টের সাথে লিঙ্ক করেন।
  • আপনার ডেটাবেসে ব্যবহারকারীর কোনো অ্যাকাউন্ট না থাকলে, ব্যবহারকারী Google-এর দেওয়া তথ্য— ইমেল, নাম এবং প্রোফাইল ছবি— দিয়ে একটি নতুন থার্ড-পার্টি অ্যাকাউন্ট তৈরি করতে পারেন, অথবা অন্য একটি ইমেল দিয়ে সাইন ইন করে লিঙ্ক করতে পারেন (এর জন্য তাদের Web OAuth ব্যবহার করে আপনার পরিষেবাতে সাইন-ইন করতে হবে)।

চিত্র ৩। স্ট্রিমলাইনড লিঙ্কিং-এর মাধ্যমে ব্যবহারকারীর ফোনে অ্যাকাউন্ট লিঙ্ক করা।

আপনার কোন প্রবাহ ব্যবহার করা উচিত?

ব্যবহারকারীরা যাতে সেরা লিঙ্কিং অভিজ্ঞতা পান, তা নিশ্চিত করতে আমরা সমস্ত ফ্লো প্রয়োগ করার পরামর্শ দিই। স্ট্রিমলাইনড এবং অ্যাপ ফ্লিপ ফ্লো লিঙ্কিংয়ের জটিলতা কমায়, কারণ ব্যবহারকারীরা খুব অল্প কয়েকটি ধাপে লিঙ্কিং প্রক্রিয়াটি সম্পন্ন করতে পারেন। ওয়েব OAuth লিঙ্কিংয়ে সবচেয়ে কম পরিশ্রম করতে হয় এবং এটি শুরু করার জন্য একটি ভালো উপায়, যার পরে আপনি অন্যান্য লিঙ্কিং ফ্লো যুক্ত করতে পারেন।

টোকেন নিয়ে কাজ করুন

গুগল অ্যাকাউন্ট লিঙ্কিং OAuth 2.0 ইন্ডাস্ট্রি স্ট্যান্ডার্ডের উপর ভিত্তি করে তৈরি।

অ্যাকাউন্টধারীদের অ্যাকাউন্ট লিঙ্ক করা এবং ডেটা শেয়ার করার সম্মতি পাওয়ার পর, আপনি প্রতিটি গুগল অ্যাকাউন্টের জন্য গুগলকে অ্যাক্সেস টোকেন প্রদান করেন।

টোকেন প্রকার

OAuth 2.0 ব্যবহারকারী এজেন্ট, ক্লায়েন্ট অ্যাপ্লিকেশন এবং OAuth 2.0 সার্ভারের মধ্যে যোগাযোগ করতে টোকেন নামক স্ট্রিং ব্যবহার করে।

অ্যাকাউন্ট লিঙ্ক করার সময় তিন ধরনের OAuth 2.0 টোকেন ব্যবহার করা যেতে পারে:

  • অনুমোদন কোড । একটি স্বল্পকালীন টোকেন যা একটি অ্যাক্সেস এবং একটি রিফ্রেশ টোকেনের জন্য বিনিময় করা যেতে পারে। নিরাপত্তার উদ্দেশ্যে, Google একটি একক ব্যবহার বা খুব অল্প সময়ের কোড পেতে আপনার অনুমোদনের শেষ পয়েন্টে কল করে।

  • অ্যাক্সেস টোকেন । একটি টোকেন যা বহনকারীকে একটি সম্পদে অ্যাক্সেস দেয়। এই টোকেন হারানোর ফলে হতে পারে এমন এক্সপোজার সীমিত করতে, এটির একটি সীমিত জীবনকাল রয়েছে, সাধারণত এক ঘন্টা বা তার পরে মেয়াদ শেষ হয়ে যায়।

  • টোকেন রিফ্রেশ করুন । একটি দীর্ঘস্থায়ী টোকেন যা একটি অ্যাক্সেস টোকেনের মেয়াদ শেষ হয়ে গেলে একটি নতুন অ্যাক্সেস টোকেনের জন্য বিনিময় করা যেতে পারে। যখন আপনার পরিষেবা Google-এর সাথে একীভূত হয়, তখন এই টোকেনটি Google দ্বারা একচেটিয়াভাবে সংরক্ষিত এবং ব্যবহার করা হয়৷ Google অ্যাক্সেস টোকেনের জন্য রিফ্রেশ টোকেন বিনিময় করতে আপনার টোকেন এক্সচেঞ্জ এন্ডপয়েন্টকে কল করে, যা ব্যবহারকারীর ডেটা অ্যাক্সেস করতে ব্যবহৃত হয়।

টোকেন হ্যান্ডলিং

ক্লাস্টারড পরিবেশে রেস কন্ডিশন এবং ক্লায়েন্ট-সার্ভার এক্সচেঞ্জের ফলে টোকেনগুলির সাথে কাজ করার সময় জটিল সময় এবং ত্রুটি পরিচালনার পরিস্থিতি হতে পারে। যেমন:

  • আপনি একটি নতুন অ্যাক্সেস টোকেনের জন্য একটি অনুরোধ পাবেন এবং আপনি একটি নতুন অ্যাক্সেস টোকেন ইস্যু করবেন৷ একই সাথে, আপনি পূর্ববর্তী, অপ্রয়োজনীয় অ্যাক্সেস টোকেন ব্যবহার করে আপনার পরিষেবার সংস্থান অ্যাক্সেসের জন্য একটি অনুরোধ পাবেন।
  • আপনার রিফ্রেশ টোকেন উত্তর Google দ্বারা এখনও পাওয়া যায়নি (বা কখনই পাওয়া যায় না)৷ ইতিমধ্যে, পূর্বে বৈধ রিফ্রেশ টোকেন Google থেকে একটি অনুরোধে ব্যবহার করা হয়েছে৷

একটি ক্লাস্টার, নেটওয়ার্ক আচরণ বা অন্যান্য উপায়ে চলমান অ্যাসিঙ্ক্রোনাস পরিষেবাগুলির কারণে অনুরোধ এবং উত্তরগুলি যে কোনও ক্রমে আসতে পারে, বা একেবারেই নয়৷

আপনার এবং Google-এর টোকেন হ্যান্ডলিং সিস্টেমের মধ্যে এবং এর মধ্যে অবিলম্বে এবং সম্পূর্ণ সামঞ্জস্যপূর্ণ ভাগ করা অবস্থার নিশ্চয়তা দেওয়া যায় না। একাধিক বৈধ, মেয়াদোত্তীর্ণ টোকেন অল্প সময়ের মধ্যে সিস্টেমের মধ্যে বা জুড়ে সহাবস্থান করতে পারে। নেতিবাচক ব্যবহারকারীর প্রভাব কমাতে আমরা আপনাকে নিম্নলিখিতগুলি করার পরামর্শ দিই:

  • একটি নতুন টোকেন জারি হওয়ার পরেও মেয়াদ শেষ না হওয়া অ্যাক্সেস টোকেনগুলি গ্রহণ করুন৷
  • রিফ্রেশ টোকেন ঘূর্ণন বিকল্প ব্যবহার করুন.
  • একাধিক, একযোগে বৈধ অ্যাক্সেস এবং রিফ্রেশ টোকেন সমর্থন করে। নিরাপত্তার জন্য, আপনার টোকেনের সংখ্যা এবং টোকেন জীবনকাল সীমিত করা উচিত।
রক্ষণাবেক্ষণ এবং আউটেজ হ্যান্ডলিং

রক্ষণাবেক্ষণ বা অপরিকল্পিত বিভ্রাটের সময় Google অ্যাক্সেস পেতে এবং টোকেন রিফ্রেশ করতে আপনার অনুমোদন বা টোকেন এক্সচেঞ্জ এন্ডপয়েন্টে কল করতে অক্ষম হতে পারে।

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

একটি অ্যাক্সেস টোকেনের জন্য অনুরোধ ব্যর্থ হলে একটি দৃশ্যমান ত্রুটি দেখা দেয়, যদি কোনো ব্যবহারকারীর দ্বারা শুরু হয়। যদি অন্তর্নিহিত OAuth 2.0 ফ্লো ব্যবহার করা হয় তবে ব্যবহারকারীদের লিঙ্ক করার ব্যর্থতা পুনরায় চেষ্টা করতে হবে।

সুপারিশ

রক্ষণাবেক্ষণের প্রভাব কমানোর জন্য অনেকগুলি সমাধান রয়েছে। বিবেচনা করার জন্য কিছু বিকল্প:

  • আপনার বিদ্যমান পরিষেবা বজায় রাখুন এবং আপনার সদ্য আপডেট হওয়া পরিষেবাতে সীমিত সংখ্যক অনুরোধ রুট করুন। প্রত্যাশিত কার্যকারিতা নিশ্চিত করার পরেই সমস্ত অনুরোধ স্থানান্তর করুন৷

  • রক্ষণাবেক্ষণ সময়কালে টোকেন অনুরোধের সংখ্যা হ্রাস করুন:

    • রক্ষণাবেক্ষণের সময়সীমা অ্যাক্সেস টোকেন লাইফটাইমের চেয়ে কম।

    • অস্থায়ীভাবে অ্যাক্সেস টোকেন জীবনকাল বৃদ্ধি করুন:

      1. টোকেন লাইফটাইম রক্ষণাবেক্ষণের সময়ের চেয়ে বেশি করুন।
      2. আপনার অ্যাক্সেস টোকেন জীবনকালের দ্বিগুণ সময়কাল অপেক্ষা করুন, ব্যবহারকারীদের দীর্ঘ সময়ের টোকেনের জন্য স্বল্পকালীন টোকেন বিনিময় করতে সক্ষম করে।
      3. রক্ষণাবেক্ষণ লিখুন।
      4. একটি 503 ত্রুটি কোড এবং খালি বডি সহ টোকেন অনুরোধের উত্তর দিন।
      5. প্রস্থান রক্ষণাবেক্ষণ.
      6. স্বাভাবিক অবস্থায় ফিরে টোকেন জীবনকাল হ্রাস করুন.

গুগলে নিবন্ধন করুন

অ্যাকাউন্ট লিঙ্কিং সক্ষম করার জন্য আমাদের আপনার OAuth 2.0 সেটআপের বিবরণ এবং ক্রেডেনশিয়াল প্রয়োজন হবে। বিস্তারিত জানতে রেজিস্ট্রেশন দেখুন।