প্রমাণীকরণ এবং অনুমোদন হলো যথাক্রমে পরিচয় যাচাই এবং রিসোর্সে প্রবেশাধিকার নিশ্চিত করার জন্য ব্যবহৃত পদ্ধতি। আপনার অ্যাপে প্রমাণীকরণ এবং অনুমোদন প্রয়োগ করার আগে যে মূল পরিভাষাগুলো আপনার জানা উচিত, এই ডকুমেন্টটিতে সেগুলো চিহ্নিত করা হয়েছে।
প্রমাণীকরণ শনাক্ত করে কে অনুরোধটি করছে। অনুমোদন শনাক্ত করে যে অনুরোধকারী কোন কোন রিসোর্স অ্যাক্সেস করতে পারবে এবং তার অ্যাক্সেসের স্তর কী। অনুমোদনের জন্য প্রমাণীকরণ একটি পূর্বশর্ত। অনুরোধকারীর পরিচয় প্রথমে নিশ্চিত না করে আপনি কোন কোন রিসোর্স অ্যাক্সেস করবেন তা নির্ধারণ করতে পারবেন না। আরও বিস্তারিত সংজ্ঞার জন্য, গুরুত্বপূর্ণ পরিভাষা বিভাগটি দেখুন।
Consider the following simplified example of a hotel reservation. When you arrive at the hotel, the front desk clerk requests your ID to verify your reservation. Your ID authenticates you to the hotel. The front desk clerk gives you a hotel key. This key gives you access to certain resources at the hotel such as your hotel room, the gym, and the business center. The hotel key authorizes you to access those resources.
প্রক্রিয়ার সংক্ষিপ্ত বিবরণ
নিম্নলিখিত ডায়াগ্রামটিতে গুগল ওয়ার্কস্পেস এপিআই-এর জন্য প্রমাণীকরণ এবং অনুমোদনের প্রধান ধাপগুলো দেখানো হয়েছে:

আপনার গুগল ক্লাউড প্রজেক্ট এবং অ্যাপ কনফিগার করুন: ডেভেলপমেন্টের সময়, আপনি গুগল ক্লাউড কনসোলে আপনার অ্যাপটি রেজিস্টার করেন এবং এপিআই কী, এন্ড ইউজার ক্রেডেনশিয়াল বা সার্ভিস অ্যাকাউন্ট ক্রেডেনশিয়াল ব্যবহার করে আপনার অ্যাপটিকে অথেন্টিকেট করার জন্য অথরাইজেশন স্কোপ ও অ্যাক্সেস ক্রেডেনশিয়াল নির্ধারণ করেন।
অ্যাক্সেসের জন্য আপনার অ্যাপকে প্রমাণীকরণ করুন: যখন আপনার অ্যাপ চলে, তখন নিবন্ধিত অ্যাক্সেস ক্রেডেনশিয়ালগুলো মূল্যায়ন করা হয়। যদি আপনার অ্যাপ একজন সাধারণ ব্যবহারকারী হিসেবে প্রমাণীকরণ করে, তাহলে একটি সাইন-ইন প্রম্পট প্রদর্শিত হতে পারে।
রিসোর্সের জন্য অনুরোধ: যখন আপনার অ্যাপের গুগল রিসোর্সে অ্যাক্সেসের প্রয়োজন হয়, তখন এটি আপনার পূর্বে নিবন্ধিত প্রাসঙ্গিক অ্যাক্সেস স্কোপ ব্যবহার করে গুগলকে অনুরোধ করে।
ব্যবহারকারীর সম্মতি চান: আপনার অ্যাপ যদি একজন সাধারণ ব্যবহারকারী হিসেবে প্রমাণীকরণ করে, তাহলে Google OAuth সম্মতি স্ক্রিনটি প্রদর্শন করে, যাতে ব্যবহারকারী আপনার অ্যাপকে অনুরোধ করা ডেটা অ্যাক্সেস করার অনুমতি দেবেন কিনা, সে বিষয়ে সিদ্ধান্ত নিতে পারেন।
রিসোর্সের জন্য অনুমোদিত অনুরোধ পাঠান: যদি ব্যবহারকারী অ্যাক্সেসের পরিধিতে সম্মতি দেন, তাহলে আপনার অ্যাপ ক্রেডেনশিয়াল এবং ব্যবহারকারী-অনুমোদিত অ্যাক্সেসের পরিধিগুলোকে একটি অনুরোধে একত্রিত করে। একটি অ্যাক্সেস টোকেন পাওয়ার জন্য অনুরোধটি গুগল অথরাইজেশন সার্ভারে পাঠানো হয়।
গুগল একটি অ্যাক্সেস টোকেন ফেরত দেয়: এই অ্যাক্সেস টোকেনে অনুমোদিত অ্যাক্সেস স্কোপগুলোর একটি তালিকা থাকে। যদি ফেরত আসা স্কোপের তালিকাটি অনুরোধ করা অ্যাক্সেস স্কোপের চেয়ে বেশি সীমিত হয়, তাহলে আপনার অ্যাপ টোকেন দ্বারা সীমিত যেকোনো ফিচার নিষ্ক্রিয় করে দেয়।
অনুরোধকৃত রিসোর্স অ্যাক্সেস করুন: আপনার অ্যাপ প্রাসঙ্গিক এপিআইগুলো কল করতে এবং রিসোর্সগুলো অ্যাক্সেস করতে গুগলের অ্যাক্সেস টোকেন ব্যবহার করে।
রিফ্রেশ টোকেন সংগ্রহ করুন (ঐচ্ছিক): যদি আপনার অ্যাপের একটিমাত্র অ্যাক্সেস টোকেনের মেয়াদের পরেও কোনো গুগল এপিআই-তে অ্যাক্সেসের প্রয়োজন হয়, তবে এটি একটি রিফ্রেশ টোকেন সংগ্রহ করতে পারে।
আরও রিসোর্সের জন্য অনুরোধ: যদি অতিরিক্ত অ্যাক্সেসের প্রয়োজন হয়, আপনার অ্যাপ ব্যবহারকারীকে নতুন অ্যাক্সেসের সুযোগ মঞ্জুর করতে বলে, যার ফলে একটি অ্যাক্সেস টোকেন পাওয়ার জন্য নতুন করে অনুরোধ করা হয় (ধাপ ৩-৬)।
গুরুত্বপূর্ণ পরিভাষা
নিম্নলিখিত তালিকাটি প্রমাণীকরণ এবং অনুমোদন সম্পর্কিত পরিভাষাগুলো চিহ্নিত করে:
- প্রমাণীকরণ
The act of ensuring that a principal , which can be a user or an app acting on behalf of a user, is who they say they are. When writing Google Workspace apps, you should be aware of these types of authentication:
- ব্যবহারকারী প্রমাণীকরণ
- আপনার অ্যাপে কোনো ব্যবহারকারীর প্রমাণীকরণ (সাইন ইন) করার প্রক্রিয়া। ব্যবহারকারী প্রমাণীকরণ সাধারণত একটি সাইন-ইন প্রক্রিয়ার মাধ্যমে সম্পন্ন করা হয়, যেখানে ব্যবহারকারী অ্যাপে তার পরিচয় যাচাই করার জন্য একটি ইউজারনেম এবং পাসওয়ার্ড ব্যবহার করেন। 'সাইন ইন উইথ গুগল' ব্যবহার করে একটি অ্যাপে ব্যবহারকারী প্রমাণীকরণ অন্তর্ভুক্ত করা যেতে পারে।
- অ্যাপ প্রমাণীকরণ
- অ্যাপটি ব্যবহারকারী কর্তৃক সরাসরি গুগল পরিষেবাগুলিতে প্রমাণীকরণের প্রক্রিয়া। অ্যাপ প্রমাণীকরণ সাধারণত আপনার অ্যাপের কোডে আগে থেকে তৈরি করা ক্রেডেনশিয়াল ব্যবহার করে সম্পন্ন করা হয়।
- অনুমোদন
ডেটা অ্যাক্সেস করতে বা অপারেশন সম্পাদন করতে প্রিন্সিপালের যে অনুমতি বা "কর্তৃত্ব" থাকে। আপনার অ্যাপ ব্যবহারকারীকে জানিয়ে অনুমোদনের জন্য অনুরোধ করে যে, অ্যাপটি তার পক্ষ থেকে কাজ করতে চায়। যদি ব্যবহারকারী অনুরোধটিতে সম্মতি দেন, তবে অ্যাপটি তার অনন্য ক্রেডেনশিয়াল ব্যবহার করে গুগল থেকে একটি অ্যাক্সেস টোকেন সংগ্রহ করে।
- শংসাপত্র
A form of identification used in software security. In terms of authentication, a credential is often a username and password combination. In terms of authorization for Google Workspace APIs, a credential is usually some form of identification, such as a unique secret string, known only between the app developer and the authentication server. Google supports these authentication credentials: API key, OAuth 2.0 Client ID, and service accounts.
- এপিআই কী
- পাবলিক ডেটা, যেমন ম্যাপস এপিআই (Maps API) ব্যবহার করে সরবরাহ করা ডেটা, অ্যাক্সেস করার অনুরোধ জানাতে ব্যবহৃত ক্রেডেনশিয়াল। "এই লিঙ্কের মাধ্যমে ইন্টারনেটে যে কেউ" (Anyone on the Internet) সেটিং ব্যবহার করে শেয়ার করা পাবলিক গুগল ওয়ার্কস্পেস ফাইলগুলিও এইভাবে অ্যাক্সেস করা যায়, যদিও বেশিরভাগ গুগল ওয়ার্কস্পেস ডেটার জন্য OAuth 2.0 প্রয়োজন হয়।
- OAuth 2 ক্লায়েন্ট আইডি
- ব্যবহারকারীর মালিকানাধীন ডেটাতে অ্যাক্সেসের অনুরোধ করার জন্য ব্যবহৃত ক্রেডেনশিয়াল। গুগল ওয়ার্কস্পেস এপিআই (Google Workspace APIs) ব্যবহার করে ডেটাতে অ্যাক্সেসের অনুরোধ করার সময় এটিই প্রধান ক্রেডেনশিয়াল। এই ক্রেডেনশিয়ালটির জন্য ব্যবহারকারীর সম্মতি প্রয়োজন।
- ক্লায়েন্টের গোপনীয়তা
- এটি এমন একটি অক্ষর-সমষ্টি যা শুধুমাত্র আপনার অ্যাপ্লিকেশন এবং অনুমোদন সার্ভারেরই জানা থাকা উচিত। ক্লায়েন্ট সিক্রেট শুধুমাত্র অনুমোদিত অনুরোধকারীদের টোকেন প্রদান করার মাধ্যমে ব্যবহারকারীর ডেটা সুরক্ষিত রাখে। আপনার অ্যাপে কখনোই আপনার এনক্রিপ্ট না করা ক্লায়েন্ট সিক্রেট অন্তর্ভুক্ত করা উচিত নয়। আমরা ক্লায়েন্ট সিক্রেটটি নিরাপদে সংরক্ষণ করার পরামর্শ দিই। আরও তথ্যের জন্য, ‘ক্লায়েন্ট ক্রেডেনশিয়াল নিরাপদে পরিচালনা করুন ’ দেখুন।
- পরিষেবা অ্যাকাউন্ট কীগুলি
- গুগল পরিষেবা ব্যবহারের অনুমোদন পেতে পরিষেবা অ্যাকাউন্টগুলো এটি ব্যবহার করে।
- পরিষেবা অ্যাকাউন্ট
- সার্ভার-টু-সার্ভার যোগাযোগের জন্য ব্যবহৃত একটি ক্রেডেনশিয়াল, যেমন ব্যবহারকারী ইন্টারফেসবিহীন কোনো অ্যাপ্লিকেশন যা ডেটা অ্যাক্সেস করতে বা বিভিন্ন অপারেশন সম্পাদন করতে একটি প্রসেস হিসেবে চলে। সার্ভিস অ্যাকাউন্ট সাধারণত ক্লাউড-ভিত্তিক ডেটা এবং অপারেশন অ্যাক্সেস করতে ব্যবহৃত হয়। তবে, ডোমেন-ব্যাপী কর্তৃত্ব অর্পণের সাথে ব্যবহার করা হলে, এগুলি ব্যবহারকারীর ডেটা অ্যাক্সেস করতেও ব্যবহার করা যেতে পারে।
- পরিধি
An OAuth 2.0 URI string that defines a level of access to resources or actions granted to an app. For Google Workspace, authorization scope URIs contain the Google Workspace app name, what kind of data it accesses, and the level of access. Users of your app can review requested scopes and choose what access to grant, then Google's authentication server returns permitted scopes to your app in an access token . For more details, refer to How to choose scopes for your app .
- অনুমোদন সার্ভার
কোনো অ্যাপের অনুরোধ করা ডেটা ও কার্যক্রমে অ্যাক্সেস টোকেন ব্যবহার করে প্রবেশাধিকার দেওয়ার জন্য গুগলের সার্ভার।
- অনুমোদন কোড
অনুমোদন সার্ভার থেকে পাঠানো একটি কোড যা অ্যাক্সেস টোকেন পেতে ব্যবহৃত হয়। আপনার অ্যাপ্লিকেশনটি যদি একটি ওয়েব সার্ভার অ্যাপ বা ইনস্টল করা অ্যাপ হয়, তবেই কেবল এই কোডটির প্রয়োজন হয়।
- অ্যাক্সেস টোকেন
একটি টোকেন যা গুগল ওয়ার্কস্পেস এপিআই-তে অ্যাক্সেস প্রদান করে। একটিমাত্র অ্যাক্সেস টোকেন একাধিক এপিআই-তে বিভিন্ন মাত্রার অ্যাক্সেস দিতে পারে, যা স্কোপ নামে পরিচিত। আপনার অ্যাপের অথরাইজেশন কোড অ্যাক্সেস টোকেনের জন্য অনুরোধ করে এবং গুগল ওয়ার্কস্পেস এপিআই কল করার জন্য সেগুলো ব্যবহার করে।
- রিসোর্স সার্ভার
যে সার্ভারটি আপনার অ্যাপ কর্তৃক কল করতে চাওয়া এপিআই-টি হোস্ট করছে।
- OAuth 2.0 ফ্রেমওয়ার্ক
একটি স্ট্যান্ডার্ড যা আপনার অ্যাপ ব্যবহার করে ব্যবহারকারীর পক্ষ থেকে ডেটা ও অপারেশনে ‘সিকিউর ডেলিগেটেড অ্যাক্সেস’ বা অ্যাক্সেস প্রদান করতে পারে। আপনার অ্যাপে ব্যবহৃত অথেনটিকেশন এবং অথরাইজেশন পদ্ধতিগুলো OAuth 2.0 ফ্রেমওয়ার্কের আপনার নিজস্ব বাস্তবায়নকে তুলে ধরে।
- অধ্যক্ষ
An entity, also known as an identity, that can be granted access to a resource. Google Workspace APIs support two types of principals: user accounts and service accounts. For more details, refer to Principals .
- ডেটা টাইপ
প্রমাণীকরণ এবং অনুমোদনের প্রেক্ষাপটে, ডেটা টাইপ বলতে সেই সত্তাকে বোঝায়, যেটি আপনার অ্যাপের অ্যাক্সেস করতে চাওয়া ডেটার মালিক। ডেটা টাইপ তিন প্রকার:
- পাবলিক ডোমেইন ডেটা
- যে কোনো ব্যক্তির জন্য অ্যাক্সেসযোগ্য ডেটা, যেমন কিছু গুগল ম্যাপস ডেটা। এই ডেটা সাধারণত একটি এপিআই কী (API key) ব্যবহার করে অ্যাক্সেস করা হয়।
- শেষ ব্যবহারকারীর ডেটা
- কোনো নির্দিষ্ট ব্যবহারকারী বা গোষ্ঠীর ডেটা, যেমন কোনো নির্দিষ্ট ব্যবহারকারীর গুগল ড্রাইভ ফাইল। এই ধরনের ডেটা সাধারণত একটি OAuth 2 ক্লায়েন্ট আইডি বা পরিষেবা অ্যাকাউন্ট ব্যবহার করে অ্যাক্সেস করা হয়।
- ক্লাউড ডেটা
- গুগল ক্লাউড প্রকল্পের মালিকানাধীন ডেটা। এই ডেটা টাইপটি সাধারণত একটি সার্ভিস অ্যাকাউন্টের মাধ্যমে অ্যাক্সেস করা হয়।
- ব্যবহারকারীর সম্মতি
এটি একটি অনুমোদন ধাপ, যেখানে আপনার অ্যাপের ব্যবহারকারীকে তার পক্ষ থেকে ডেটা অ্যাক্সেস করতে এবং বিভিন্ন কার্যক্রম সম্পাদন করার জন্য অ্যাপটিকে অনুমোদন দিতে হয়।
- আবেদনের ধরণ
আপনি যে ধরনের অ্যাপ তৈরি করতে যাচ্ছেন। গুগল ক্লাউড কনসোল ব্যবহার করে ক্রেডেনশিয়াল তৈরি করার সময়, আপনাকে আপনার অ্যাপ্লিকেশনের ধরন নির্বাচন করতে বলা হয়। অ্যাপ্লিকেশনের ধরনগুলোর মধ্যে রয়েছে: ওয়েব অ্যাপ্লিকেশন (জাভাস্ক্রিপ্ট), অ্যান্ড্রয়েড, ক্রোম অ্যাপ, আইওএস, টিভি এবং লিমিটেড ইনপুট ডিভাইস, ডেস্কটপ অ্যাপ (যাকে "ইনস্টলড অ্যাপ"ও বলা হয়), এবং ইউনিভার্সাল উইন্ডোজ প্ল্যাটফর্ম (ইউডব্লিউপি)।
- পরিষেবা অ্যাকাউন্ট
A special type of Google account intended to represent a non-human user that needs to authenticate and be authorized to access data. Your application assumes the identity of the service account to call Google APIs, so that the users aren't directly involved. By themselves, service accounts cannot be used to access user data customarily accessed using Google Workspace APIs. However, a service account can access user data by implementing domain-wide delegation of authority. For more details, refer to Understanding service accounts .
- ডোমেন-ব্যাপী কর্তৃত্বের হস্তান্তর
An administration feature that can authorize an application to access user data on behalf of users in the Google Workspace organization. Domain-wide delegation can be used to perform admin-related tasks on user data. To delegate authority this way, Google Workspace administrators use service accounts with OAuth 2.0. Because of the power of this feature, only super admins can enable domain-wide delegation of authority. For more details, refer to Delegating domain-wide authority to a service account .
পরবর্তী পদক্ষেপ
আপনার অ্যাপের OAuth সম্মতি স্ক্রিনটি এমনভাবে কনফিগার করুন , যাতে ব্যবহারকারীরা বুঝতে পারেন এবং অনুমোদন করতে পারেন যে আপনার অ্যাপ তাদের ডেটাতে কী ধরনের অ্যাক্সেস পাবে।