ওয়েবের জন্য অনুমোদন

গুগল এপিআই নিরাপদে কল করার জন্য ওয়েব অ্যাপগুলোকে অবশ্যই একটি অ্যাক্সেস টোকেন সংগ্রহ করতে হবে।

গুগল আইডেন্টিটি সার্ভিসেস জাভাস্ক্রিপ্ট লাইব্রেরিটি ব্যবহারকারীর সাইন-ইন করার জন্য অথেনটিকেশন এবং গুগল এপিআই ব্যবহারের জন্য অ্যাক্সেস টোকেন পাওয়ার অথরাইজেশন উভয়ই সমর্থন করে। লাইব্রেরিটি শুধুমাত্র ব্রাউজারে ব্যবহারের জন্য তৈরি।

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

এই নির্দেশিকাগুলোতে অনুমোদন এবং ডেটা শেয়ারিং সম্পর্কিত বিষয়গুলো আলোচনা করা হয়েছে।

ব্যবহারকারী অনুমোদন কীভাবে কাজ করে, এই অংশে ব্যবহারকারী অনুমোদনের প্রতিটি ধাপ বিস্তারিতভাবে বর্ণনা করা হয়েছে এবং এতে ব্যবহারকারীর সংলাপের উদাহরণও অন্তর্ভুক্ত রয়েছে।

আপনি যদি প্রমাণীকরণ এবং ব্যবহারকারী সাইন-আপ ও সাইন-ইন বাস্তবায়নের বিষয়ে সাহায্য চান , তাহলে 'সাইন ইন উইথ গুগল' দেখুন।

এই লাইব্রেরিটি Node.js-এর মতো সার্ভার-সাইড জাভাস্ক্রিপ্ট ফ্রেমওয়ার্কের সাথে ব্যবহারের জন্য নয়, এর পরিবর্তে গুগলের Node.js ক্লায়েন্ট লাইব্রেরি ব্যবহার করুন।

কী পরিবর্তন হয়েছে

ব্যবহারকারীদের জন্য, গুগল আইডেন্টিটি সার্ভিসেস লাইব্রেরিটি পূর্ববর্তী জাভাস্ক্রিপ্ট লাইব্রেরিগুলোর তুলনায় ব্যবহারযোগ্যতার ক্ষেত্রে বহুবিধ উন্নতি সাধন করেছে, যার মধ্যে রয়েছে:

  • ব্যবহারকারীর সাইন-ইন করার জন্য প্রমাণীকরণ এবং গুগল এপিআই (Google API) কল করার জন্য অ্যাক্সেস টোকেন পাওয়ার অনুমোদন—এই দুটি প্রক্রিয়ার জন্য এখন দুটি পৃথক ও স্বতন্ত্র ইউজার ফ্লো রয়েছে; একটি সাইন-ইন করার জন্য এবং অন্যটি অনুমোদনের সময় সম্মতি জানানোর জন্য। এই পৃথক ইউজার ফ্লোগুলোর মাধ্যমে আপনি কে এবং একটি অ্যাপ কী করতে পারে, তা স্পষ্টভাবে আলাদা করা হয়।
  • ব্যবহারকারীর সম্মতি গ্রহণের সময় ডেটা শেয়ারিংয়ের উপর উন্নত দৃশ্যমানতা এবং সূক্ষ্ম নিয়ন্ত্রণ।
  • ব্যবহারকারীর অসুবিধা কমাতে ব্রাউজার-ভিত্তিক ডায়ালগ, যার জন্য ব্যবহারকারীদের আপনার সাইট ছেড়ে যেতে হয় না:
    • গুগল থেকে একটি অ্যাক্সেস টোকেন সংগ্রহ করুন, অথবা
    • আপনার ব্যাকএন্ড প্ল্যাটফর্মে একটি অনুমোদন কোড পাঠান।

ডেভেলপারদের জন্য আমাদের লক্ষ্য হলো জটিলতা কমানো, নিরাপত্তা উন্নত করা এবং আপনাদের ইন্টিগ্রেশন সহজ করা। এই পরিবর্তনগুলোর মধ্যে কয়েকটি হলো:

  • সাইন-ইন করার জন্য ব্যবহারকারীর প্রমাণীকরণ এবং গুগল এপিআই (Google API) কল করার জন্য অ্যাক্সেস টোকেন পেতে ব্যবহৃত অনুমোদন , এই দুটি হলো জাভাস্ক্রিপ্ট অবজেক্ট এবং মেথডের দুটি পৃথক ও স্বতন্ত্র সেট। এর ফলে প্রমাণীকরণ বা অনুমোদন বাস্তবায়নের জন্য প্রয়োজনীয় জটিলতা এবং বিস্তারিত বিবরণের পরিমাণ হ্রাস পায়।
  • একটিমাত্র জাভাস্ক্রিপ্ট লাইব্রেরি এখন উভয়ই সমর্থন করে:
    • OAuth 2.0 অন্তর্নিহিত প্রবাহ, যা ব্রাউজারে ব্যবহারের জন্য একটি অ্যাক্সেস টোকেন পেতে ব্যবহৃত হয়।
    • OAuth 2.0 অথরাইজেশন কোড ফ্লো, যা অফলাইন অ্যাক্সেস নামেও পরিচিত, আপনার ব্যাকএন্ড প্ল্যাটফর্মে নিরাপদে একটি অথরাইজেশন কোড পৌঁছে দেওয়ার প্রক্রিয়া শুরু করে, যেখানে এটিকে একটি অ্যাক্সেস টোকেন এবং রিফ্রেশ টোকেনের জন্য বিনিময় করা যায়। পূর্বে, এই ফ্লোগুলো শুধুমাত্র একাধিক লাইব্রেরি ব্যবহার করে এবং OAuth 2.0 এন্ডপয়েন্টগুলোতে সরাসরি কল করার মাধ্যমেই পাওয়া যেত। একটিমাত্র লাইব্রেরি আপনার ইন্টিগ্রেশনের সময় এবং শ্রম কমিয়ে দেয়; একাধিক লাইব্রেরি ও OAuth 2.0-এর ধারণা অন্তর্ভুক্ত করা এবং শেখার পরিবর্তে আপনি একটি একক, সমন্বিত ইন্টারফেসের উপর মনোযোগ দিতে পারেন।
  • সরলতা এবং পাঠযোগ্যতার জন্য গেটার স্টাইলের ফাংশনের মাধ্যমে পরোক্ষ ব্যবহার বাদ দেওয়া হয়েছে।
  • অনুমোদন প্রতিক্রিয়াগুলি পরিচালনা করার সময়, অনুরোধগুলি পূরণ করার জন্য একটি প্রমিজ ব্যবহার করবেন কি না, সেই সিদ্ধান্তটি আপনার জন্য অন্য কেউ না নিয়ে আপনিই বেছে নেন।
  • জাভাস্ক্রিপ্টের জন্য গুগল এপিআই ক্লায়েন্ট লাইব্রেরিটি নিম্নলিখিত পরিবর্তনসহ আপডেট করা হয়েছে:
    • gapi.auth2 মডিউল এবং এর সাথে সম্পর্কিত অবজেক্ট ও মেথডগুলো এখন আর আপনার জন্য নেপথ্যে স্বয়ংক্রিয়ভাবে লোড হয় না, এবং এর পরিবর্তে আরও সুস্পষ্ট Google Identity Services লাইব্রেরির অবজেক্ট ও মেথড ব্যবহার করা হয়েছে।
    • ব্যবহারকারীর নিরাপত্তা ও সচেতনতা বৃদ্ধির লক্ষ্যে মেয়াদোত্তীর্ণ অ্যাক্সেস টোকেন স্বয়ংক্রিয়ভাবে রিফ্রেশ করার ব্যবস্থাটি সরিয়ে ফেলা হয়েছে। একটি অ্যাক্সেস টোকেনের মেয়াদ শেষ হয়ে গেলে, আপনার অ্যাপকে অবশ্যই গুগল এপিআই (Google API)-এর ত্রুটিপূর্ণ প্রতিক্রিয়াগুলো সামলাতে হবে এবং একটি নতুন ও বৈধ অ্যাক্সেস টোকেনের জন্য অনুরোধ করে তা সংগ্রহ করতে হবে।
    • প্রমাণীকরণ এবং অনুমোদন প্রক্রিয়াগুলোর মধ্যে সুস্পষ্ট বিভাজন নিশ্চিত করার জন্য, একই সাথে কোনো ব্যবহারকারীকে আপনার অ্যাপে এবং তার গুগল অ্যাকাউন্টে সাইন ইন করানোর পাশাপাশি একটি অ্যাক্সেস টোকেন প্রদান করা এখন আর সমর্থিত নয়। পূর্বে, অ্যাক্সেস টোকেনের জন্য অনুরোধ করলে ব্যবহারকারীরা তাদের গুগল অ্যাকাউন্টেও সাইন ইন হয়ে যেতেন এবং ব্যবহারকারীর প্রমাণীকরণের জন্য একটি JWT ID টোকেন ক্রেডেনশিয়াল ফেরত আসত।
  • ব্যবহারকারীর নিরাপত্তা ও গোপনীয়তা বাড়াতে, অনুমোদনের জন্য ইস্যু করা ব্যবহারকারী-ভিত্তিক পরিচয়পত্রে শুধুমাত্র একটি অ্যাক্সেস টোকেন এবং তা পরিচালনার জন্য প্রয়োজনীয় তথ্য অন্তর্ভুক্ত থাকে, যা ন্যূনতম বিশেষাধিকারের নীতি অনুসরণ করে।